您的位置:首页 > 编程语言 > Java开发

【struts2】访问web元素三种方法

2014-02-23 16:14 375 查看
访问web元素 map类型的 request、session、application;真实类型的 httpservletrequest、httpsessiont、servletcontext

1、使用ActionContext访问web元素

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

public IndexAction(){
request = (Map)ActionContext.getContext().get("request");
session = ActionContext.getContext().getSession();
application = ActionContext.getContext().getApplication();
}

public String add() {
request.put("r1","request");
session.put("s1","session");
application.put("a1","application");
return SUCCESS;
}
jsp页面访问

<s:property value="#request.r1" /><br />
<s:property value="#session.s1" /><br />
<s:property value="#application.a1" />
<s:debug></s:debug>


2、依赖于容器,IoC、DI

public class IndexAction extends ActionSupport implements RequestAware,SessionAware,ApplicationAware{

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 ;
}
public String add() {
request.put("r1","awarerequest");
session.put("s1","awaresession");
application.put("a1","awareapplication");
return SUCCESS;
}
}


3、通过ServletActionContext获取原始的web元素类型

public class IndexAction extends ActionSupport {

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

public IndexAction(){
request = ServletActionContext.getRequest();
session = request.getSession();
application = session.getServletContext();
}

public String add() {
request.setAttribute("r1", "httprequest");
session.setAttribute("s1","session");
application.setAttribute("a1","application");
return SUCCESS;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struts2 web