2009-06-10 11 views
5

:Doldur Koleksiyon Ben formdan fasulye Listesini doldurmak çalışıyorum

benim Struts2 formda Yani
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 doldurmak için en iyi yolu nedir? Sezgisel olarak şunu yapmak istiyorum:

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

Ancak bu çalışmıyor ve çarpışmalara neden olur. Eminim cevabım çok basit ve ben buna bakıyorum.

cevap

12

Doğru anlıyorsam, her gizli alan için farklı bir ad ister misiniz? Form gönderildiğinde edilirken Uygun alıcı/ayarlayıcı varsa size

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

eşdeğer vermelidir

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

, tüm değerleri ayarlamak gerekir.

+1

Haklısınız efendim. Sanırım doğru sözdizimini bilmiyordum (yani [0]). – Droo

+1

Teşekkürler ...! Bana da yardım etti ... (2 yıl sonra bile: -P) –

İlgili konular