Struts2使用动态密钥

时间:2015-08-13 09:42:52

标签: java jsp struts2 ognl

JSP

<s:set var="cnt" value="1" />
<s:iterator value="assemblydebates">
<s:if test='%{(#cnt%4)==1}'>
<h4 style="color: #FACC2E;" class="text-left"><s:property value="archives1[#cnt]"/></h4>
</s:if>
..................
<s:set var="cnt" value="%{#cnt + 1}"/>
</s:iterator>

其中archives1是值(LinkedHashMap<String,String>)的地图{4=Assembly Debates, 8=Party Press Meets, 12=Promos, 16=Archives}

上面的代码

问题。此处archives1[#cnt]未打印。如果我像archives1['4']一样使用它的打印。

我还通过迭代器检查了

<s:iterator value="archives1">  
<span id="pid" style="cursor:pointer;" onClick="getvideos('<s:property value='value'/>');"><s:property value='value'/></span> 
</s:iterator>

这段代码正在运作。

任何人都可以告诉我这里的问题是什么。

修改

  <s:set var="cnt" value="%{1}" />
  <s:iterator value="assemblydebates">
  <s:if test='%{(#cnt%4)==1}'>
  <h4 style="color: #FACC2E;" class="text-left"><s:property value="archives1[#cnt]"/></h4>
  </s:if>
  <s:if test='%{(#cnt%4)==0}'>
  <div style="display:inline-block;background-color: #ffffff;"><img src="images/more1.png" title="Read more.." style="width:30px;height:30px;cursor:pointer;" onClick="getvideos('<s:property value="%{archives1[#cnt]}"/>');"/></div>
  </s:if>
  <s:set var="cnt" value="%{#cnt+1}"/>
  </s:iterator>

问题: <h4 style="color: #FACC2E;" class="text-left"><s:property value="archives1[#cnt]"/></h4>没有打印值

如果我尝试<h4 style="color: #FACC2E;" class="text-left"><s:property value="archives1['4']"/></h4>,则会打印一个值。所以评估if条件。

剩下的代码效果很好。

0 个答案:

没有答案