迭代对象的集合属性 - Struts2

Iterate in a collection attribute of an Object - Struts2

如果在我的操作中 class 我有一个新的 BeanObject

MyObject obj = new MyObject();

MyObject 具有以下属性:

 private String type;
 private Collection<Animals> animalsList;
 ...

并且 Animals 具有以下属性:

private Integer id;
private String name;
private String food;

我想使用 Struts2 遍历 animalsList:

<s:iterator value="obg.animalsList" status="listStatus" 
    <s:property value="id"/>
    <s:property value="name"/>
    <s:property value="food"/>
</s:iterator>

这样做正确吗?

当您使用 s:iterator 标签时,value 属性代表一个 OGNL 表达式,它根据根植于 valueStack 的上下文进行评估。操作 class 位于值堆栈的顶部,因此如果您将对象聚合到操作 class,OGNL 将可以搜索它。

但要访问它,OGNL 路径中的每个字段都需要 getter 和 setter。

您可以了解有关 s:iterator and 的更多信息。