簡體   English   中英

從Struts2表單提交填充集合

[英]Populate Collection from Struts2 Form Submission

我正在嘗試從表單填充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,它應該在提交表單時設置所有值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM