我是java beanutils的新手,我很难弄清楚如何才能实现这一目标。
我可以从Html FORM获取所有字段,填充beanutils.populate(Object, request.getParamterMap());
所有作品,甚至字段映射为" CustomClass someobj",我有一点麻烦,但表格输入字段提名为" someobj.field"我能说得对。
现在我需要做一个列表listobj,但我不知道如何。
尝试使用表单名称"listobj[].field", "listobj.[].field", "listobj.[]field", "listobj[][field]"
,但这些都不起作用。我可以通过setProperty("listobj",List<CustomClass>);
答案 0 :(得分:0)
我明白了。 对于有同样问题的人,我做的是:
以Html格式
name="indexedListobj[listobj.id].field"
我正在使用hibernate,所以我的对象现在是Set<CustomClass> listobj
而不是List<CustomClass> listobj
,以防止收集异常。
我所做的是创建另一个方法来检查Set中的对象的索引,然后更新对象(如果存在),或者如果不存在则附加新的。像这样:
public CustomClass getindexedListobj(int index) {
CustomClass tmp = null;
for(CustomClass o : this.listobj)
if(o.getId() == index) {
tmp = o;
break;
}
if(tmp == null) {
tmp = new CustomClass();
this.listobj.add(tmp);
}
return tmp;
}