struts2 使用Map类型的request, session, application
来源:互联网 发布:阿里云域名解析到主机 编辑:程序博客网 时间:2024/06/07 14:37
在Action类中可以通过ActionContext对象获得request, session, application, 给3个对象分别设置key和value, 在另一个jsp界面中访问key对应的值
程序入口由index.jsp进入, 在struts.xml中寻找名为action的action标签
<body> <a href="action">进入</a> </body>
struts.xml, 找到TestAction类
<struts> <package name="demo" extends="struts-default" namespace="/"> <action name="action" class="action.TestAction"> <result name="success">Hello.jsp</result> </action> </package></struts>
action类, 通过ActionContext 设置kv, 并在execute()返回SUCCESS, 让result标签与其对应
public class TestAction extends ActionSupport{ Map<String, Object> request; Map<String, Object> session; Map<String, Object> application; public TestAction() { ActionContext context = ActionContext.getContext(); request = (Map<String, Object>) context.get("request"); session = (Map<String, Object>) context.get("session"); application = (Map<String, Object>) context.get("application"); } @Override public String execute() throws Exception { request.put("info", "reqValue"); session.put("info", "sesValue"); application.put("info", "appValue"); System.out.println("结果"+request.get("info")); return Action.SUCCESS; }}
Hello.jsp 显示值
<body> <s:property value="#request.info"/><br> <s:property value="#session.info"/><br> <s:property value="#application.info"/> <s:debug></s:debug> </body>
上面的action,定义了3个作用域, 若是action很多, 在每个action类中都写这样重复的代码很不好, 这时候可以自定义类,我们叫他BaseAction
public class BaseAction implements RequestAware,ApplicationAware,SessionAware{ protected Map<String, Object> session; protected Map<String, Object> application; protected Map<String, Object> request; @Override public void setSession(Map<String, Object> arg0) { // TODO Auto-generated method stub this.session=arg0; } @Override public void setApplication(Map<String, Object> arg0) { // TODO Auto-generated method stub this.application=arg0; } @Override public void setRequest(Map<String, Object> arg0) { // TODO Auto-generated method stub this.request=arg0; }}
这时候再来修改TestAction, 同样能达到上面的效果
public class TestAction extends BaseAction{ public TestAction() { } public String execute(){ request.put("info", "reqValue"); session.put("info", "sesValue"); application.put("info", "appValue"); System.out.println("结果"+request.get("info")); return Action.SUCCESS; }}
阅读全文
0 0
- struts2 使用Map类型的request, session, application
- 通过ActionContext获取Map类型的request、session和application
- struts2 获取 request session application的方法
- struts2获取request、session、application的方式
- [Struts2] page、request、session、application的区别
- struts2获取request,session,application
- struts2 获取request,session,application
- struts2获取request,session,application
- struts2 获取request session application
- struts2使用:Action如何使用request,session,application
- struct2 的application,request,session 的使用
- page request session application的使用区别
- struts2 获取"作用域"对象:Request Session Application 与 Aware 接口的使用
- 关于struts2中对 request session application 的访问
- struts2 中获得request,session.application的方法:
- 关于struts2中对 request /session/ application 的访问
- Struts2访问request,session,application的四种方式
- struts2 action中获取request session application的方法
- jmeter 集成jenkins 邮件正文报告乱码解决
- QT 信号与槽有连接 槽未响应
- (2012蓝桥杯) 奇怪的比赛 某电视台举办了低碳生活大奖赛。题目的计分规则相当奇怪: 每位选手需要回答10个问题(其编号为1到10),越后面越有难度。
- 分布式系统核心问题
- Struts2、spring、hibernate三大框架简介
- struts2 使用Map类型的request, session, application
- 什么是全局变量?JavaScript的全局变量怎么定义?
- B+树介绍
- ffmpeg 编译命令指导
- 51nod 1616 最小集合
- HttpRuntime.Cache 与 static Dictionary 缓存
- 文章标题
- idea 全局搜索不到或者其他诡异问题处理
- CF-Marco and GCD Sequence