2014-02-27 39 views
3

我有下面的Struts2的JSP內迭代一個問題:S:迭代器來地圖與動態關鍵參數

<s:iterator value="thatCompany.tags" var="tagGroups"> 
    <tr> 
    <td><s:property value="#tagGroups.key" /></td><!-- this works nicely! --> 
    <td> 
    <ul> 
    <s:iterator value="{thisCompany.tags['#tagGroups.key']}" var="thisTagGroup"> 
      <!-- doesn't work, displays one empty LI element --> 
      <li> <s:property value="#thisTagGroup.key"/> 
     </s:iterator> 
    </ul> 
     </td> 
<!-- snip --> 

thisCompany.tagsthatCompany.tags都是Map<String, Map<BigDecimal, String>>

回答

1

明白了,這句法作品:

<s:iterator value="thisCompany.tags[#tagGroups.key]" var="foobar"> 
    <li> <s:property value="#foobar.value"/> 
</s:iterator> 

但是,這是奇怪的:如果我將變量名稱變量thisTagGroup而不是foobar它不起作用了。是否因爲這個以某種方式保留,變量名稱甚至不能以這個開頭?

+0

奇怪而好奇... –