我正在使用struts-rest-plugin index
方法返回Fruit
或xml
格式的json
个对象列表。它的效果非常好。
模特课:
class Fruit {
private String name;
private double price;
// constructor
// getter/setter
// equals and hash method
}
我想在xml / json输出中排除我的模型对象中的一些属性,比如price。我知道我可以用包装类包装它,但似乎有很多事情要做。
我尝试过:
@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>
...
它不起作用。请帮忙。感谢。
答案 0 :(得分:0)
您应该使用XStream注释来省略结果
中的必填字段