Struts2 - 在JSP中迭代嵌入式对象列表

时间:2011-06-08 19:51:08

标签: struts2

我在值堆栈上有一个包含对象列表的类,每个对象是另一个对象列表,最后是我想要访问的对象。例如:

FruitGroupsList - > FruitGroup - >水果

假设FruitGroupsList包含2个FruitGroup列表:

  1. EdibleFruits
  2. NonEdibleFruits
  3. EdibleFruits是一个FruitGroup(列表),其中包含一堆Fruit Objects:

    1. 苹果
    2. 梅花 ...
    3. 每个Fruit都有一个Name属性。

      我知道我可以像这样迭代FruitGroupsList:

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

      如何遍历每个FruitGroup并获取属性(如FruitName)?我已经尝试了各种类型的嵌入其他迭代器标签,但到目前为止我似乎无法解决这个问题......

      谢谢!

2 个答案:

答案 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中存在问题