我正在迭代
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>
表达式部分无需强制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>
首先
#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>