質問
DWRは、プリミティブのリストを非常に簡単に処理します。 DWRメソッド呼び出しによって返されたオブジェクトの配列がJSONオブジェクトを表すかどうかはわかりませんでした。手がかりはありますか?または、オブジェクトの配列を表すJSON文字列をブラウザに返す必要がありますか?
解決
この答えは少し遅れていますが、ここにあります:)
朗報:DWRはJavaの配列とコレクションも非常に簡単に処理します。それらを返すだけで、クライアント側でJavaScript配列オブジェクトを取得できます。 (配列またはコレクション内のプリミティブまたはストリングなどの典型的な場合、つまり、コンテンツがよりエキゾチックなものである場合、コンバーターを定義する必要がある場合があります。以下で詳しく説明します。)
DWRのドキュメント(強調マイン)からの引用:
デフォルトでは、次のすべてが さらに変換することなくあなたのために変換 宣言:
- すべてのプリミティブ型、ブール、int、doubleなど。
- これらのブール、整数などのクラスベースのバージョン
- java.lang.String
- java.util.Dateおよび3つのSQL派生物
- 上記の配列
- 上記のコレクション(リスト、セット、マップ、イテレーターなど)
- DOM、XOM、JDOM、DOM4JからのDOMオブジェクト(要素やドキュメントなど)
したがって、これらのJSON文字列は絶対に必要ありません(ただし、より複雑なデータ構造には適している場合があります)。
DWRには" コンバータ"多くの典型的な用途に。たとえば、カスタムの「bean」を作成するには、スタイルJavaオブジェクトはクライアントサイドJSで動作します。 dwr.xml
で言う必要があるのは、 beanコンバーター:
<convert converter="bean" match="com.company.YourBean" />
メソッドがそれらのBeanオブジェクトのリスト(または配列)を返す場合でも...
public static List<YourBean> getData(){ ... }
...上記の設定で十分です。これは非常に便利です。
所属していません StackOverflow