- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九讲(Action中访问requestsession等作用域)
Struts2作用域
章节内容
1、访问或添加几个属性(request/session等)
在页面上写入:
${applicationScope.app} br
${sessionScope.ses}br
${requestScope.req}br
例2:获得Map类型request,session,application
public class LoginAction extends ActionSupport {
private Map request;
private Map session;
private Map application;
public LoginAction() { --构造方法
request = (Map)ActionContext.getContext().get(request);
session = ActionContext.getContext().getSession();
application = ActionContext.getContext().getApplication();
}
public String execute() {
request.put(r1, r1);
session.put(s1, s1);
application.put(a1, a1);
return SUCCESS;
}
}
2、直接获取作用域的对象
javateachersun@163.com
javateachersun@163.com
public String rsa() throws Exception{
HttpServletRequest request = ServletActionContext.getRequest();
ServletContext servletContext =ServletActionContext.getServletContext();
request.setAttribute(req, 请求范围属性);
request.getSession().setAttribute(ses, 会话范围属性);
servletContext.setAttribute(app, 应用范围属性);
//HttpServletResponse response = ServletActionContext.getResponse();
return message;
}
直接获取作用域对象举例
例3:获得Map类型request,session,application
//这种推荐使用
public class LoginAction2 extends ActionSupport implements RequestAware,SessionAware, ApplicationAware {
private MapString, Object request;
private MapString, Object session;
private MapString, Object application;
//DI dependency injection
//IoC inverse of control
//控制反转要提供属性的set方法
public String execute() {
request.put(r1, r1);
session.put(s1, s1);
application.put(a1, a1);
return SUCCESS;
}
@Override
public void setRequest(MapString, Object request) {this.request = request;}
@Override
public void setSession(MapString, Object session) {this.session = session;}
@Override
public void setApplication(MapString, Object application) {this.application = application;}
}
例3
public class LoginAction4 extends ActionSupport implements ServletRequestAware {
private HttpServletRequest request;
private HttpSession session;
p
文档评论(0)