strus2 set标签的灵活使用

今天工作中遇到在页面循环中,用上一个对象的某个属性来确定当前对象的显示方式,试了好久,终于用标签搞定了,留下备忘。


//取到后台action返回的对象集合
<s:set name="list" value="storyStageList"/>
//循环
<s:iterator value="storyStageList" status="st">
<s:if test="#st.index==0">
   <s:if test="state==3">
       <a href='javascript:void(0)'>
          <s:property value="parameter.stageMap[stage]"/>已验收
       </a>
   </s:if>
   <s:else>
       <a href='xx.action?xx=xx'class="submit-btn3">
           <s:property value="parameter.stageMap[stage]"/>验收
       </a>
   </s:else>
</s:if>

<s:else>
//将集合中的上一个对象的state属性取出来,作为下边显示的判断条件
<s:set name="flag" value="#list[#st.index-1].state"/>
   <s:if test="state==3">
      <a href='javascript:void(0)'>
         <s:property value="parameter.stageMap[stage]"/>已验收
      </a>
   </s:if>
   <s:elseif test="state==2 && #flag==3">
       <a href='xx.action?xx=xx'class="submit-btn3">
          <s:property value="parameter.stageMap[stage]"/>验收
       </a>
   </s:elseif>
   <s:else>
       <a href='javascript:void(0)'>
           <s:property value="parameter.stageMap[stage]"/>验收
       </a>
   </s:else>
</s:else>
</s:iterator>


                                   

你可能感兴趣的:(struts2)