與EL表達式

struts2.0以上版本,標籤不支持EL表達式,要使用OGNL表達式:


<s:if test="${M}==0">顯示1</s:if>
<s:else>顯示2</s:else>

以上做法會報錯,是錯誤的。
應該使用OGNL表達式:
如果訪問其他Context中的對象,由於他們不是根對象,所以在訪問時,需要添加#前綴。

l application對象:用於訪問ServletContext,例如#application.userName或者#application[‘userName’],相當於調用ServletContext的getAttribute(“username”)。

l session對象:用來訪問HttpSession,例如#session.userName或者#session[‘userName’],相當於調用session.getAttribute(“userName”)。

l request對象:用來訪問HttpServletRequest屬性(attribute)的Map,例如#request.userName或者#request[‘userName’],相當於調用request.getAttribute(“userName”)。

l parameters對象:用於訪問HTTP的請求參數,例如#parameters.userName或者#parameters[‘userName’],相當於調用request.getParameter(“username”)。
修正爲:

<s:if test="#request.M==0">顯示1</s:if>
<s:else>顯示2</s:else>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章