我在值堆栈上有一个包含对象列表的类,每个对象是另一个对象列表,最后是我想要访问的对象。例如:
FruitGroupsList - > FruitGroup - >水果
假设FruitGroupsList包含2个FruitGroup列表:
EdibleFruits是一个FruitGroup(列表),其中包含一堆Fruit Objects:
每个Fruit都有一个Name属性。
我知道我可以像这样迭代FruitGroupsList:
<s:iterator value="FruitGroupsList" var="fgl">
<s:property value="%{#fgl.name}" />
</s:iterator>
如何遍历每个FruitGroup并获取属性(如FruitName)?我已经尝试了各种类型的嵌入其他迭代器标签,但到目前为止我似乎无法解决这个问题......
谢谢!
答案 0 :(得分: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>
列表列表需要两个迭代器。如果事情变得更加混乱,那么在动作中添加一个getter来提取一些深层嵌套的项目可能是合理的。
答案 1 :(得分:0)
我已经修好了自己。在Setter和getter of action class中存在问题