編集: 質問のタイトルと内容を変更しました。JSON プラグイン ガイドを読むと、プラグインがこのクエリ マップではなく JSON 文字列を想定している可能性があることに気付きました。その場合、通常は代わりに GSON を使用します。問題は次のようになると思います: Struts2 は次のようなクエリ文字列の型変換をどのように処理できますか:sort[0][field]=status&sort[0][dir]=asc
Struts2 バックエンドとのインターフェースに Kendo UI グリッドを使用しています。サーバーに送信される AJAX 要求は、次の形式 (GET クエリ文字列) に従います。
take=5&skip=0&page=1&pageSize=5&sort%5B0%5D%5Bfield%5D=status&sort%5B0%5D%5Bdir%5D=asc
または(エスケープなし):
take=5&skip=0&page=1&pageSize=5&sort[0][field]=status&sort[0][dir]=asc
基本的に、Kendo UI グリッドはフラット化された JSON オブジェクトをサーバーに送信します。したがって、入力を取得するために、次のような並べ替えモデル オブジェクトを作成します。
public class SortModel {
private String field;
private String dir;
}
これを Struts2 アクションに入力する変数として含めます。
private SortModel[] sort;
ただし、これは AJAX リクエストが入ったときに Struts2 によって読み込まれることはありません。JSON インターセプターも追加しようとしましたが、編集で説明されているように、その逆シリアル化プロセスを誤解していたと思います。
とにかく、上記のクエリ文字列などを使用してStruts2型変換を行った人はいますsort[0][field]=status&sort[0][dir]=asc
か?