Struts2使用动态变量嵌套迭代列表

时间:2015-03-18 17:17:21

标签: java list loops struts2 ognl

我正在迭代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>

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分: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>