0
var schedule = [];

var data = { 
   'user_id' : '12', 
   'day_of_week' : 'Monday',
    'when' : 'start',
    'modified' : 'true'
 }

schedule.push(data);
var data = { 
   'user_id' : '13', 
   'day_of_week' : 'Tuesday',
    'when' : 'end',
    'modified' : 'false'
 }
schedule.push(data);
// schedule would have two objects in it

以下のようにjquery ajax post requestを使用して配列をサーブレットに投稿しています。

data :  {'myData':schedule},
url :"./myController",

オブジェクトの配列を取得し、すべての値を取得するにはどうすればよいでしょうか? 各配列オブジェクトには、string、long、および boolean 型の値があります。反復してすべての値を取得するにはどうすればよいですか?

4

1 に答える 1

0

1 つの戦略は、JSON を使用してこの種のデータをサーバーとクライアントの間でやり取りすることです。

クライアント側では、stringify 関数を使用して、スケジュールの配列を JSON 文字列に変換します。それを AJAX 経由で送信します。

例えば

var jsonData = JSON.stringify(schedule);

AJAX オブジェクトは次のことを行います。

$.ajax({
  url: "./myController",
  data: {'schedules':jsonData}
});

サーバー側では、Google の GSON ライブラリのような JSON パーサーを使用します。

サーブレットで次の操作を行います。

String jsonData = request.getParamater("schedules");

GSON を使用して解析する

Gson gson = new Gson();
List<Schedule> schedules = gson.parseJson(jsonData, List<Schedule>.toClass());

JavaScript オブジェクトを Java オブジェクトにマップするスケジュール クラスを作成できます。

興味があればテスト済みのより良いコードを提供できます...現時点ではIDEにアクセスできません...しかし、一般的な考えを理解していただければ幸いです

于 2013-08-12T18:34:15.360 に答える