今天工作中遇到在页面循环中,用上一个对象的某个属性来确定当前对象的显示方式,试了好久,终于用标签搞定了,留下备忘。
//取到后台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>