在 Struts 2 中迭代 List 时获取对象属性

问题描述 投票:0回答:2

我正在迭代

List<SomeObject>
,但我只想打印
SomeObject
的某些属性,具体取决于另一个
List
中指定的属性。到目前为止,我已经得到了。我不确定的是,如何使用
List
中的项目作为我要打印的
SomeObject
的属性。

<s:iterator value="theList" var="listItem" status="theListCount">
    <s:iterator value="listOfAttributes" var="attr" status="attrListCount">
        Attribute=<s:property value="#attr"/> Value=<s:property value='#listItem.[%{#attr}]'/>
    </s:iterator>
</s:iterator>
java list loops struts2 ognl
2个回答
1
投票

表达式部分无需强制OGNL

<s:iterator value="theList" var="listItem" status="theListCount">
    <s:iterator value="listOfAttributes" var="atr" status="attrListCount">
        Attribute=<s:property value="#atr"/> Value=<s:property value="#listItem[#atr]"/>
    </s:iterator>
</s:iterator>

0
投票

首先

#attr
是一个保留关键字,所以不要将它用作变量值。并使用
[]
表示法来引用对象的属性。

<s:iterator value="theList" var="listItem" status="theListCount">
  <s:iterator value="listOfAttributes" var="atrbt" status="attrListCount">
      Attribute=<s:property value="#atrbt"/> Value=<s:property value="#listItem[#atrbt]"/>
  </s:iterator>
</s:iterator>
© www.soinside.com 2019 - 2024. All rights reserved.