[size=x-small][color=red]struts2对应封装
HttpServletRequest-------->RequestMap
HttpServletSession-------->SessionMap
ServletContext-------->ApplicationMap[/color][/size]
ActionContext与Servlet api的解耦
在com.opensymphony.xwork2.ActionContext类中存在一个Map对象的context 类
首先通过ActionContext类的静态方法getContext()方法获得当前相关的一个ActionContext实例
public Object get(Object key)方法,就相当于HttpServletRequest.getAttribute()
public void put(Object key, Object value)对应HttpServletRequest.setAttribute()
public Map<String, Object> getParameters()对应HttpServletRequest.getParameterMap()
public Map<String, Object> getSession()方法对应javax.servlet.http.HttpSession
session.put(Object key, Object value)对应Servlet编程中的HttpSession.setAttribute(…)
也就是说,ActionContext能够获得三个Map类型的Request, Session, Application对象
ActionContext有一个好处,就是它已经将底层的Servlet进行了转化,比如它将session转化成Map
所以在struts中用session,request,Application完全可以创建一个map对象的
有好的放方法,望诸位大神给出意见,我好学习一下,我只是个小菜鸟。单纯看法
HttpServletRequest-------->RequestMap
HttpServletSession-------->SessionMap
ServletContext-------->ApplicationMap[/color][/size]
ActionContext与Servlet api的解耦
在com.opensymphony.xwork2.ActionContext类中存在一个Map对象的context 类
首先通过ActionContext类的静态方法getContext()方法获得当前相关的一个ActionContext实例
public Object get(Object key)方法,就相当于HttpServletRequest.getAttribute()
public void put(Object key, Object value)对应HttpServletRequest.setAttribute()
public Map<String, Object> getParameters()对应HttpServletRequest.getParameterMap()
public Map<String, Object> getSession()方法对应javax.servlet.http.HttpSession
session.put(Object key, Object value)对应Servlet编程中的HttpSession.setAttribute(…)
也就是说,ActionContext能够获得三个Map类型的Request, Session, Application对象
ActionContext有一个好处,就是它已经将底层的Servlet进行了转化,比如它将session转化成Map
所以在struts中用session,request,Application完全可以创建一个map对象的
有好的放方法,望诸位大神给出意见,我好学习一下,我只是个小菜鸟。单纯看法