4

我可以通过以下方式将属性序列化到基类(2 级)。

public class BaseRoot{
 String prop1; //getter and setter
}

public class SubClass extends BaseRoot{
 String prop2; //getter and setter
}

public class ActionClass extends SubClass{
 String prop3; //getter and setter
}

在struts json中,我可以使用序列化所有属性

<result type="json">
 <param name="ignoreHierarchy">false</param> //This will allow parent to be serializable
 <param name="excludeProperties">price,description</param> //Exclude parameters
</result>

但我只想序列化类 ActionClass 和 SubClass。我不想序列化 BaseRoot 和其他由 BaseRoot 类扩展的类。我知道我可以排除属性。但我想从序列化中排除整个类。

4

1 回答 1

0

使用默认功能无法做到这一点。

您需要编写自己的结果类型,或者可能是序列化程序,您可以将其插入现有的或新的结果类型——不确定哪个更容易。

也就是说,我发现这个设计/需求有点粗略——也许你想要一个 Presenter、Decorator、Facade 等,而不是试图破解具体的类。

于 2013-04-12T17:44:46.287 回答