2016-05-10 33 views
1

スクリプトでajax呼び出しによって文字列値をサーブレットに渡し、クラスオブジェクト内の対応するデータを取得してarraylistに格納します。今私は、このarraylistがajax呼び出しに返される 'データ'であることが必要です。どうやってするの??サーブレットからajax呼び出しに返されたオブジェクトのarraylist

`<script> 
     $(document).ready(function(){ 
      var selected; 

      $('#txtboxvalue').change(function(){ 
       selected = $('#txtboxvalue').val(); 

        $.ajax({ 
        url: "Servlet2", 
        type: "Post", 
        data: {"txtboxvalue":selected}, 
        success : function(data) 
         { 
         //here is where I want to access the returned arraylist 
         } 
}); 
     }); 
</script> 

サーブレット:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    ArrayList<Cust> list2=cusName.dispCustomer2(abcd); 
PrintWriter out = response.getWriter(); 
out.println(list2); 
} 

が、このように渡すと、あなたは複雑なデータを返したい

+2

[AJAX応答としてサーブレットからJSPにArrayListの取得]の可能な重複(http://stackoverflow.com/questions/23045163/getting-arraylist-from-servlet-to-jsp-as-ajax-response ) –

+0

データタイプもチェック – monda

答えて

2

機能していない:顧客のリストを。 JSON形式のリストを送るのが良いフォーマットです。サーバー側では

GSONまたはジャクソンのようなJSONライブラリを取得し、次のようにリストをシリアライズします。クライアント側では

response.setContentType("application/json"); 
new Gson().toJson(list2, response.getWriter()); 

あなたはJSONレスポンスを期待することはJQueryを教えてください。

$.ajax({ 
     url: "Servlet2", 
     type: "Post", 
     data: {"txtboxvalue":selected}, 
     dataType: "json", 
     success : function(list) { 
      // list is the list as Javascript array 
     } 
+0

sooooありがとうございました。それが問題を解決しました。 – aswathy

関連する問題