2012-08-11 64 views
1

我是struts2的新手,面臨一個問題。如何迭代struts 2中的對象列表

我有以下數據結構。

class Employee extends actionsupport{ 

Private List<Address> address; 


....getters and setters 
} 

class Address { 
private String street_name; 
Private City_name; 
......and so on 

... getters and setters 

} 

如何使用<s:iterate>標記在JSP中迭代此列表。我嘗試了很多組合,但有些方式不適合我。

+3

IMO一個如所描述的收集應以複數名稱命名(例如,地址)。這讓事情變得更容易思考。此外,即使只是描述問題,最好使用正確的語法和命名。 – 2012-08-11 16:04:56

+0

@DaveNewton你有意說出單數的「東西」嗎?挺滑稽的。 – rees 2012-08-12 14:06:49

+0

@rees我做了;)我的一些評論是微妙的 - 感謝注意! – 2012-08-12 16:52:08

回答

1

我相信最好的方法是使用Struts2 iterator標籤,它需要提供集合作爲迭代器的數據源。

<s:iterator value="address"> 
    <s:property value="street_name"/> 
    <s:property value="City_name"/> 
    //so on 
</s:iterator> 

當迭代將迭代器在它將放置對象(在你的情況下地址)上值堆棧的頂部的地址和可以參考這些屬性的正上方

+0

+1。你錯過了city_name周圍的雙引號 – anu 2012-08-11 18:17:54

+0

@anu:感謝指針,更正:) – 2012-08-11 18:39:23

0
<s:iterator value="%{address}" var="addr"> 
    <s:property value="%{street_name}"/> 
    <s:property value="#addr.street_name"/> 
</s:iterator>