2011-06-08 67 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中存在问题

相关问题