当前位置: 代码迷 >> Web前端 >> struts2中几种取得request,session等对象的方法
  详细解决方案

struts2中几种取得request,session等对象的方法

热度:69   发布时间:2012-11-23 22:54:33.0
struts2中几种获得request,session等对象的方法

1、通过ActionContext来获得举例代码如下:

??情况1:

???ActionContext context = ActionContext.getContext();
???Map request = (Map) context.get("request");
???Map session = context.getSession();
???Map application = context.getApplication();

?情况2:

??ActionContext actionContext = ActionContext.getContext();
??HttpServletRequest request = (HttpServletRequest) actionContext
?????.get(ServletActionContext.HTTP_REQUEST);
???HttpSession session = request.getSession();
???ServletContext context = (ServletContext) actionContext
?????.get(ServletActionContext.SERVLET_CONTEXT);

?

2、通过实现 RequestAware, SessionAware,ApplicationAware等接口来获得,举例代码如下:

public class LoginAction2 implements Action, RequestAware, SessionAware,
??ApplicationAware {

???private Map request;
???private Map session;
???private Map application;

???public void setRequest(Map request) {
?????????this.request = request;
??}

???public void setSession(Map session) {
????????this.session = session;
??}

??public void setApplication(Map application) {
?????????????this.application = application;
??}

3、通过ServletActionContext来获得,举例代码如下:

???// 利用ServletActionContext获得request
???HttpServletRequest request = ServletActionContext.getRequest();
???// 利用request获得session
???HttpSession session = request.getSession();
???// 利用ServletActionContext获得servletContext
???ServletContext context = ServletActionContext.getServletContext();

  相关解决方案