Struts2学习笔记-访问web元素的四种方式

1. 通过ActionContext来访问Map类型的request、session、application对象

private Map<String,Object> request;
request=(Map<String,Object>)ActionContext.getContext().get("request");

private Map<String,Object> session;
session=ActionContext.getContext().getSession();

private Map<String,Object> application;
application=ActionContext.getContext().getApplication();

2. 通过实现RequestAware、SessionAware、ApplicationAware接口来访问Map类型的request、session、application对象(IoC方式)(推荐使用)

private Map<String,Object> request;
private Map<String,Object> session;
private Map<String,Object> application;
public void setRequest(Map<String, Object> request) {
    this.request=request;
}
public void setSession(Map<String, Object> session) {
    this.session=session;
}
public void setApplication(Map<String, Object> application) {
    this.application=application;
}

3. 通过ServletActionContext来访问Servlet API类型的HttpServletRequest、 HttpSession、 ServletContext对象(依赖于Servlet API 方式)

private HttpServletRequest request; 
private HttpSession session; 
private ServletContext application;
request=ServletActionContext.getRequest(); 
session=request.getSession(); 
application=session.getServletContext();

4. 通过实现ServletRequestAware接口来访问Servlet API类型的HttpServletRequest、 HttpSession、 ServletContext对象(IoC方式)

private HttpServletRequest request; 
private HttpSession session; 
private ServletContext application;

public void setServletRequest(HttpServletRequest request) {
     session=request.getSession(); 
    application=session.getServletContext(); 
}


其中,前两种方式与Servlet API解耦合,后两种方式与Servlet API耦合,推荐使用第二种方式。

 

posted @ 2013-03-16 10:54  水不会停留  阅读(143)  评论(0编辑  收藏  举报