您的位置:首页 > 移动开发

struts2教程:13、访问或添加request/session/application属性

2012-12-14 23:32 543 查看
访问或添加request/session/application属性

struts2避免了直接访问servletAPI,所以没法获取request/session/application对象,但对他们进行了封装。

public String scope() throws Exception{

ActionContextctx =
ActionContext.getContext();

ctx.getApplication().put("app", "应用范围");//往ServletContext里放入app

ctx.getSession().put("ses", "session范围");//往session里放入ses

ctx.put("req", "request范围");//往request里放入req

return "scope";

}

JSP:

<body>

${applicationScope.app} <br>

${sessionScope.ses}<br>

${requestScope.req}<br>

</body>

应用场景:仅仅是为了访问或添加属性用ActionContext

获取HttpServletRequest /
HttpSession /
ServletContext /
HttpServletResponse对象

方法一,通过ServletActionContext.类直接获取: (建议使用,因为简单)

public String rsa() throws Exception{

HttpServletRequest request =
ServletActionContext.getRequest();

ServletContextservletContext =
ServletActionContext.getServletContext();

request.getSession()

HttpServletResponse response =
ServletActionContext.getResponse();

return "scope";

}

方法二,实现指定接口,由struts框架运行时注入:

public class HelloWorldAction implements
ServletRequestAware,
ServletResponseAware,
ServletContextAware{

private HttpServletRequest request;

private ServletContextservletContext;

private HttpServletResponse response;

public void setServletRequest(HttpServletRequestreq) {

this.request=req;

}

public void setServletResponse(HttpServletResponse res) {

this.response=res;

}

public void setServletContext(ServletContext ser) {

this.servletContext=ser;

}

}

应用场景:比如果要获取站点目录下的真实路径,用ServletActionContext
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: