オブジェクトindex
のリストを返すための struts-rest-plugin メソッドに取り組んでいます。それは本当にうまくいきます。Fruit
xml
json
モデルクラス:
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>
...
動いていない。助けてください。ありがとう。