收集一些常用的代码
 

struts2:在表单中处理集合元素

本文参考自:StackOverflow.com.


问:


比如有这样三个类:

public class Foo{
   public String attr1;
   public String attr2;
}

public class Bar{
   public List<Foo> foos;
}

public class StrutsAction extends Action{
   public Bar bar;
}

怎么在表单中上交后,让Foo对象正确的初始化?


答:


像下面这样即可:

<!--

这里使用了hidden域作例子,如果需要根据用户输入完成对Foo对象的初始化工作,

你可改为<s:textfield/>及其它

-->

<s:iterator value="bars" status="key">
    <s:hidden name="bar.foos[%{#key.index}].attr1" value="attr1"/>
    <s:hidden name="bar.foos[%{#key.index}].attr2" value="attr2"/>
</s:iterator>

它会产生类似下面的HTML代码:

<input type="hidden "name="bar.foos[0].attr1" value="some value"/>
<input type="hidden "name="bar.foos[0].attr2" value="some other value"/>
<input type="hidden "name="bar.foos[1].attr1" value="some value"/>
<input type="hidden "name="bar.foos[1].attr2" value="some other value"/>

2012-06-19 /
标签: struts2list
 
评论
© 代码|Powered by LOFTER