解耦:使得我们使用struts2测试时不需要启动服务器,在一定的程度上,能提高我们的开发效率.具体实现思路,通过ActionContext对象获取,代码如下:
[java] view plain copy
- //第一种获取requet对象方法---HttpServletRequest对象的attributes(解耦)
- Map<String, Object> request = (Map)ActionContext.getContext().get("request");
- //第二种获取request对象方法(解耦)
- HttpServletRequest request = (HttpServletRequest)ActionContext.getContext().get(StrutsStatics.HTTP_REQUEST);
1.首先实现ServletRequestAware接口,然后设置全局变量HttpServletRequest request,最后实现ServletRequestAware接口的setServletRequest方法,代码如下:
- HttpServletRequest request;
- @Override
- public void setServletRequest(HttpServletRequest request) {
- // TODO Auto-generated method stub
- this.request = request;
- }
2.通过获取ServletActionContext获取HttpServletRequest对象,代码如下;
[java] view plain copy
- HttpServletRequest request = ServletActionContext.getRequest();