struts2 标签使用总结

有以下片段:
  <td>
       <s:set name="actorRef" value="actorId" />
       <s:set name="taskName" value="name" />
       <s:if test="#actorRef=='' or #actorRef==null">共享任务(<a
         href="${pageContext.request.contextPath}/ga/changeTaskAssigment.action?taskInstanceId=<s:property value="id"/>" >我来处理</a>)</s:if>
       <s:elseif test='{#taskName == "受评对象准备评级资料"}'>
        <a href="${pageContext.request.contextPath}/ga/needModify.action?taskInstanceId=<s:property value="id"/>">准备资料</a>
       </s:elseif>
       
       <s:else>
       <s:property value="#taskName" />
       </s:else>
      </td>

其中  <s:elseif test='{#taskName == "受评对象准备评级资料"}'>为正确答案,但是如果
<s:if test="#taskName == '受评对象准备评级资料'">就不行,还有我试了
<s:property value="#taskName" />这个可以输出正确的值
原因总结可能是用property时候可以取出正确的值,但是在 test中就取不出值,这个要看源代码来确认。
可以参考http://www.blogjava.net/max/category/16130.html
如果换成 <s:elseif test="#taskName.equals('受评对象准备评级资料')">
这个也不行,(代码已测试)http://topic.csdn.net/u/20080328/11/43b8f534-d0cb-47c8-bb4d-383f7ebf972f.html
重大发现:上面的语句也是不对的,他只要第一个条件非空就进入第一<s:elseif test='{#taskName == "受评对象准备评级资料"}'> 正确的是:<s:elseif test='%{#taskName == "提交评委会资料"}'>

你可能感兴趣的:(html,.net,idea)