首页 > 代码库 > struts2域值操作
struts2域值操作
1.通过servletActionContext类
1 /***
2 * 获得方式一:通过ServletActionContext类
3 * 提供的静态方法获得原始的web对象,直接和servlet的API耦合
4 * 如果需要获得原始的web对象,只能选择ServletActionContext类
5 * **/
6 public String method01()
7 {
8 //获得HttpServletRequest对象
9 HttpServletRequest request= ServletActionContext.getRequest();
10 //获得HttpServletResponse对象
11 HttpServletResponse response=ServletActionContext.getResponse();
12 //获得HttpSession对象
13 HttpSession session=request.getSession();
14 //获得Application对象
15 ServletContext application=ServletActionContext.getServletContext();
16 //给web对象中封装数据
17 request.setAttribute("req", "method01----req");
18 session.setAttribute("sin", "method01----sin");
19 application.setAttribute("app", "method01----app");
20 return Action.SUCCESS;
21 }
2.通过ActionContext获得
ServletActionContext extends ActionContext
1 /**
2 * 方式二:
3 * struts2框架将web对象封装到Map集合中。
4 * ActionContext将获得web对象全部转化为Map,不需要依赖web容器,
5 * 完成和servlet的api解耦合
6 *
7 * ***/
8 public String method02()
9 {
10 //相当于request对象
11 ActionContext ac=ActionContext.getContext();
12 Map<String,Object> session=ac.getSession(); //相当于sessoin对象
13 Map<String,Object> application=ac.getApplication();//相当于application
14 ac.put("req", "method02---req");
15 session.put("sin", "method02----sin");
16 application.put("app", "method02----app");
17 return Action.SUCCESS;
18 }
3. 通过struts2框架注入web对象
3.1定义BaseAction
1 /****需要实现特定的接口****/
2 public class BaseAction implements RequestAware,SessionAware,ApplicationAware
3 {
4 protected Map<String,Object> request;
5 protected Map<String,Object> session;
6 protected Map<String,Object> application;
7 @Override
8 public void setRequest(Map<String, Object> request)
9 {
10 System.out.println("setRequest------"+request);
11 this.request=request;
12 }
13 @Override
14 public void setSession(Map<String, Object> session)
15 {
16 System.out.println("setSession------"+session);
17 this.session=session;
18 }
19 @Override
20 public void setApplication(Map<String, Object> application)
21 {
22 //System.out.println("setApplication------"+application);
23 this.application=application;
24 }
25 }
3.2web对象的获得
1 /***
2 * 方式三:通过struts2框架完成web对象的注入
3 * 需要实现特定的接口,而重写的接口的方法,由struts2框架自己调用,
4 * 只需要定义相应Map变量,接收setXxx的形参
5 * 完成了和servletAPI的解耦合
6 * 同时完了对象的获取和对象的使用之间的解耦合
7 * IOC注入方式获得web对象(程序员只需要定义变量接收值,由struts2框架完成赋值)
8 * ***/
9 public String method03()
10 {
11 request.put("req", "method03----req");
12 session.put("sin", "method03----sin");
13 application.put("app", "method03----app");
14 return Action.SUCCESS;
15 }
struts2域值操作
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。