java - 从 struts-rest-plugin 请求时如何排除属性?

标签 java xml json rest struts2

我正在使用 struts-rest-plugin index 方法返回 xmljson< 中的 Fruit 对象列表 格式。效果非常好。

模型类:

class Fruit {

    private String name;
    private double price;

    // constructor

    // getter/setter

    // equals and hash method

}

我想在 xml/json 输出中从我的模型对象中排除一些属性,比如价格。我知道我可以用包装器类包装它,但似乎有很多事情要做。

我尝试过的:

@Results(@Result(name = "success", type = "redirectAction", params = {
        "actionName", "fruit"}))
public class FruitController extends ActionSupport implements
        ModelDriven<Object> {

    private int id;
    private Fruit model = new Fruit();
    private List<Fruit> list;
    private FruitService fruitService = new FruitService();

    public void setId(int id) {
        this.id = id;
        if (id > 0) {
            this.model = fruitService.get(this.id);
        }
    }

    public int getId() {
        return this.id;
    }

    public HttpHeaders index() {
        list = fruitService.getAll();
        return new DefaultHttpHeaders("index").disableCaching();
    }

    @Override
    public Object getModel() {
        return (list != null ? list : model);
    }

    ....

}

struts.xml

...
<constant name="struts.convention.action.suffix" value="Controller"/>
<constant name="struts.convention.action.mapAllMatches" value="true"/>
<constant name="struts.convention.default.parent.package" value="rest-default"/> 
<constant name="struts.convention.package.locators" value="controller" />
...
<interceptor-ref name="params">
                <param name="excludeParams">price</param>
</interceptor-ref>
...

它不起作用。请帮忙。谢谢。

最佳答案

您应该使用 XStream 注释从结果中省略必填字段

关于java - 从 struts-rest-plugin 请求时如何排除属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16050860/

相关文章:

android - 线性布局 :How to fill the whole width of screen?

xml - 格式字符串-删除前导数字

c# - 在 .NET 中使用 DataSet.WriteXml 时的自定义日期时间格式

java - 解析JSON字符串的最简单方法

c# - 如何干净地反序列化字符串值包含在同名对象中的 JSON

java - 模拟不与@Secured一起使用

java - 当链接对象的 FK 可能为空时按链接对象属性排序?

java - 将 libgdx 项目从 java 转换为 kotlin 后无法找到或加载主类

java - 使用用户数据在 EC2 上升级到 Java 8 OpenJDK

javascript - 使用 JQuery 搜索 JSON 对象