Struts2 JSON プラグインの操作方法は独特です。アクションの JSON へのシリアル化を処理しますが、特定の要素のみが対象です:
特定のオブジェクトのみをシリアル化する場合、プラグインは「root」属性という解決策を提供します。この属性を使用すると、OGNL 式を使用してシリアル化されるルート オブジェクトを指定できます。
<result type="json"> <param name="root"> objectToBeSerialized </param> </result>
Action クラスには次のものが含まれている必要があります。
private CustomObject objectToBeSerialized; public CustomObject getObjectToBeSerialized() { return this.objectToBeSerialized; }
CustomObject はさまざまなデータ型を表すことができます。プリミティブ、文字列、配列など。
このメソッドを利用すると、通常と同じようにSUCCESSとERRORを返すことができますフレームワークの規約を損なうことなく、AJAX Struts2 アクションを実行します。さらに、AJAX jQuery 呼び出しのコールバック関数からシリアル化された JSON オブジェクトに直接アクセスできます。
データ構造が次のパターンに従っていることを前提とします。
row1 [col1, col2], row2 [col1, col2], rowN [col1, col2]
次のようにすることができますアプローチ:
public class MyRow implements Serializable { private String col1; private String col2; // Getters }
public class PartAction implements Serializable { private List<MyRow> rows; // Getter public List<MyRow> getRows() { return this.rows; } public String finder() { rows = new ArrayList<MyRow>(); // Populate the list with data } }
<result type="json" > <param name="root"> rows </param> </result>
var handledata = function(data) { $.each(data, function(index) { alert(data[index].col1); alert(data[index].col2); }); }
このアプローチにより、必要なデータ構造をシリアル化し、AJAX コールバック関数内でアクセスできるようになります。
以上がStruts2 JSON プラグインは、AJAX 呼び出しのデータ構造をどのようにシリアル化しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。