6

私は次の実装を持っています

public abstract class BaseAcion extends ActionSupport {
    private String result;
    private String message;

    //getters, setters
}

public class MyAction extends BaseAction {
    private String myFirstField;
    private String mySecondField;

    public String execute() {
         ...
         myFirstField = "someValue";
         mySecondField = "someOtherValue";
         ...
         result = SUCCESS;
         message = "Some message here";
         ...
         return result;
    }

    //methods, getters, setters
}

struts2-jsonプラグインを使用しましたが、アクションマッピングは

<package name="my-package" namespace="/" extends="json-default" >
    <action name="myAction" class="MyAction">
        <result type="json"></result>
    </action> 
</package>

私が受け取る応答はこのようなものです。

{
    "myFirstField":"someValue",
    "mySecondField":"someOtherValue"
}

応答として「結果」フィールドと「メッセージ」フィールドも取得したい。

jsonレスポンスにBaseActionフィールドを含めるにはどうすればよいですか?

4

1 に答える 1

13

デフォルトでは、「root」オブジェクトの基本クラスで定義されたプロパティはシリアル化されません。すべての基本クラス(Objectまで)のプロパティをシリアル化するには、JSON結果で「ignoreHierarchy」をfalseに設定します。

何かのようなもの

<result type="json">
  <param name="ignoreHierarchy">false</param>
</result>

詳細については、JSONプラグインのドキュメントを参照してください

于 2012-04-10T06:16:01.093 に答える