天天看点

<s:if></>与EL表达式

struts2.0以上版本,标签不支持EL表达式,要使用OGNL表达式:

<s:if test="${M}==0">显示</s:if>
<s:else>显示</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">显示</s:if>
<s:else>显示</s:else>