struts2遍历求和

<s:set var="sum" value="0"/>
<div class="conma" id="conmacontent" style="top:70px;">
<s:iterator value="{null,null,1,2,3,4}" id="item" status="st">
<s:if test="%{#item == null}">
<s:set var="t_sum" value="0"/>
</s:if><s:else>
<s:set var="t_sum" value="#item"/>
</s:else>
<p>key:${t_sum } </p>
<s:set var="sum" value="#sum  + #t_sum "/>
</s:iterator>
<p>sum:${sum }</p>
</div>


ps:sum:10
%{}:取出存在值堆栈中的Action对象
%{#}是Struts2为其解决兼容性问题
 -->1.上例不能判断不能%{}替换
      %{#}与%{}都可以用于计算表达式。
 注意:%{#}操作可以是变量,变量用于计算时不能省略#
2.#item 和 #sum  + #t_sum 都不能用${}替换
 # 
  a. 访问OGNL上下文和Action上下文,#相当于ActionContext.getContext()
     -->可以查看ActionContext中有用的属性
  b.构造Map,如#{'foo1':'bar1', 'foo2':'bar2'}
 $
  a.在Struts 2配置文件中,引用OGNL表达式

3.${t_sum}和${sum}不能与#替换

个人总结:struts2标签内不能用${}表达式

猜你喜欢

转载自blog.csdn.net/qq_17037733/article/details/72233308
今日推荐