java - 从 Struts2 表单提交填充集合

标签 java struts2 struts

我正在尝试从表单中填充 bean 列表:

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

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

public class StrutsAction extends Action {
   public Bar bar;
}

那么在我的 Struts2 表单中,填充 Foo 的最佳方式是什么?直觉上,我想做的是:

<input type="hidden" name="bar.foos.attr1" />

但这不起作用并且会导致碰撞。我确信答案非常简单,但我忽略了它。

最佳答案

如果我没理解错的话,您只是想为每个隐藏字段使用不同的名称?

<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>

这应该给你相当于

<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" />

如果您有适当的 getter/setter,它应该在提交表单时设置所有值。

关于java - 从 Struts2 表单提交填充集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/975883/

相关文章:

java - 如何使用google map3在struts2中绘制折线

java - 使用 DAO 执行简单的 Struts 应用程序

eclipse - 具有代理网络的 Eclipse 中的 Apache Tomcat

java - 如何检查特定错误的 ActionErrors?

java - 网页上有多个选项卡

java - 设备进入休眠状态时 GPS 无法接收位置更新(黑屏)

使用ConcurrentLinkedQueue的Java线程问题

java - 无法从 Android 向服务器发布/上传数据

java - 分析 Mule ESB 应用程序

java - struts2 : a lost cause? 的 html5 必填字段