在Action中使用OGNL表达式的时候有时需要获取HttpServletRequest对象来传值,直接上代码:
在helloworld.xml文件中定义
<action name="*_*_*" method="{2}" class="com.{3}.{1}Action">
<result>/result.jsp</result>
<result name="add">
<param name="location">/${#request.path}.jsp</param>
</result>
<result name="update">/{2}.jsp</result>
</action>
如何在Action中为${#request.path}表达式传值呢?
在Action中定义request和setServletRequest赋值
private HttpServletRequest request;
public String add(){
request.setAttribute("path", "update");
return "add";
}
@Override
public void setServletRequest(HttpServletRequest req) {
// TODO Auto-generated method stub
request=req;
}