8.ActionContext类与Servlet API解耦的访问方式
2013-02-13 17:54
239 查看
为了避免与Servlet API耦合在一起,方便Action类做单元测试,
Struts2对HttpServletRequest、HttpSession和ServletContext进行了封装,
构造了三个Map对象来替代这三种对象,在Action中,
直接使用HttpServletRequest、HttpSession、ServletContext对应的Map对象来保存和读取数据。
要获得这三个Map对象,可以使用com.opensymphony.xwork2.ActionContext类
* . ActionContext - 请求上下文 。- 就是struts2封装的request.
包含了request,session,application
上面这三个都是Map.
* . ServletActionContext - 包含servletApi的请求上下文。包含了request,response,session,applicatoin都是servlet的类
Struts2对HttpServletRequest、HttpSession和ServletContext进行了封装,
构造了三个Map对象来替代这三种对象,在Action中,
直接使用HttpServletRequest、HttpSession、ServletContext对应的Map对象来保存和读取数据。
要获得这三个Map对象,可以使用com.opensymphony.xwork2.ActionContext类
* . ActionContext - 请求上下文 。- 就是struts2封装的request.
包含了request,session,application
上面这三个都是Map.
* . ServletActionContext - 包含servletApi的请求上下文。包含了request,response,session,applicatoin都是servlet的类
示例:: public class MyAction extends ActionSupport implements ModelDriven<User>{ @Override public String execute() throws Exception { System.err.println("这是基本的实现"+this.user); //获取request ActionContext req = ActionContext.getContext(); //-----------------------获取request req.put("addr","中国北京");//放request //获取session Map<String,Object> session = req.getSession(); session.put("addr", "中国上海"); //获取application Map<String,Object> app = req.getApplication(); app.put("age",90); //以下通过ServletActionContext对象,获取原生的ServletAPI HttpServletRequest requ = ServletActionContext.getRequest(); requ.setAttribute("email","aaa"); requ.getSession().setAttribute("height", "180"); return "success"; } private User user = new User(); public User getModel() { return user; } }
相关文章推荐
- Struts2_006_Servlet API解耦的访问方式web资源
- ActionContext类-与Servlet API解耦的访问方式
- struts2——(6)(①访问Servlet对象的方式(与Servlet API解耦的访问方式)
- Struts2_007_Servlet API解耦的访问方式web资源之Aware
- jQuery 跨域访问的三种方式 No 'Access-Control-Allow-Origin' header is present on the reque
- java程序通过密钥方式使用JSch API访问SSH(转帖)
- 理解基类中成员的访问限定符和派生类的继承方式
- 按照java对象方式访问Snmp设备
- virtualbox中NAT方式通过宿主机访问虚拟机端口映射配置
- Servlet 访问WEB资源的方式
- SWT中通过Automatioin的方式访问IE(升级版)
- Android网络访问请求方式
- linux mysql新建用户及让该用户可以在另外一台电脑通过sqlyong,jdbc方式访问设置说明
- Struts2的国际化和访问资源文件的几种方式
- Linux内核访问外设I/O资源的方式
- 判断用户访问方式为pc or Phone
- JS 对象属性访问的2种方式和用途
- Servlet中doGet方式访问输出乱码
- 【SpringMVC】限定某个业务控制方法,只允许GET或POST请求方式访问(十二)
- angular Js使用get方式ajax访问后台数据 非跨域访问