2011-06-08 66 views
0

我在包含對象列表的值棧上有一個類,每個對象都是另一個對象列表,最後是我想要訪問的對象。例如:Struts2 - 在JSP中對嵌入對象列表進行迭代

FruitGroupsList - > FruitGroup - >水果

比方說FruitGroupsList包含2名FruitGroup列表:

  1. EdibleFruits
  2. NonEdibleFruits

的EdibleFruits是FruitGroup (列表),其中包含一堆水果對象:

  1. 蘋果
  2. 梅花 ...

每種水果都有一個名稱屬性。

我明白,我可以通過FruitGroupsList迭代像這樣:

<s:iterator value="FruitGroupsList" var="fgl"> 
    <s:property value="%{#fgl.name}" /> 
</s:iterator> 

我如何遍歷每個FruitGroup並獲得一個屬性(如FruitName)?我試過各種類型的嵌入其他迭代器標籤,但迄今爲止我似乎無法解決這個問題...

謝謝!

回答

2

我假設你只在每個列表中放置一種類型,否則你應該使用地圖。

所以你的教職員有權訪問你的行動:

List<List<Fruit>> fruitGroupsList; 

在這種情況下,你會說:

<s:iterator value="fruitGroupsList"> 
    <s:iterator> 
    <s:property value="whatEverPropertyAFruitHas"/> <!-- If this was a simple type such as String, you could just write <s:property/> 
    </s:iterator> 
</s:iterator> 

列表的清單需要兩個迭代器。如果事情變得更加混亂,那麼將一個吸氣劑放入動作中以提取一些深層嵌套的物品可能是合理的。

+0

上面的代碼已經過測試,可以正常工作。之前的代碼但有點複雜(使用var屬性不需要),如果仍然無法正常工作,請展示您的操作,以便解決方案可以精確。 – Quaternion 2011-06-08 22:28:53

0

我修復了我自己。在Setter和動作類getter中存在問題

相關問題