Struts2将Action与Servlet进行了解耦合,在Action中无法直接使用request、session以及application对象。可以从ActionContext获取Map类型(封装了Web数据)。
Struts2分别将Request、Session和Application三个对象封装成了Map对象,直接使用封装好的Map对象来获取和保存数据。可以通过com.opensymphony.xwork2.ActionContext类来得到这三个对象。
从ActionContext中获取request和session。
1、获取request对象。
Map request = (Map)ActionContext.getContext.get("request");
2、获取session对象
Map session = ActionContext.getContext().getSession;
request和session的常用方法。
1、设置属性值:put(Object key,Object value);
2、获取属性值:get(Object key);
3、移除属性值:remove(Object key);
如将用户对象保存到session中。
session.put("user",user);
说明:在JSP页面,request和session表现为内置对象,与struts2中的是相关联的,可直接使用。