Struts2 中OGNL表达式语言访问值的方法

由于ValueStack(值栈)是Struts 2中OGNL的根对象,如果用户需要访问值栈中的对象,则可以直接通过下面的代码访问ValueStack(值栈)中的属性:

 

${foo} //获得值栈中的foo属性

 

如果访问其他Context中的对象,由于不是根对象,在访问时,需要加#前缀。

application对象:用于访问ServletContext,例如#application.userName或者#application['userName'],相当于调用Servlet的getAttribute("username")。

 

session对象:用来访问HttpSession,例如#session.userName或者#session['userName'],相当于调用session.getAttribute("userName")。

 

request对象:用来访问HttpServletRequest属性(attribute)的Map,例如#request.userName或者#request['userName'],相当于调用request.getAttribute("userName")。

 

parameters对象:用于访问HTTP的请求参数,例如#parameters.userName或者#parameters['userName'],相当于调用request.getParameter("username")。

 

attr对象:用于按page->request->session->application顺序访问其属性

#attr.userName,相当于按顺序从三个范围读取userName属性直到找到为止

你可能感兴趣的:(struts2)