zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    CentOS虚拟机和物理机共享文件夹实现
    集训第六周 数学概念与方法 概率 数论 最大公约数 G题
    集训第六周 数学概念与方法 概率 F题
    集训第六周 E题
    集训第六周 古典概型 期望 D题 Discovering Gold 期望
    集训第六周 古典概型 期望 C题
    集训第六周 数学概念与方法 UVA 11181 条件概率
    集训第六周 数学概念与方法 UVA 11722 几何概型
    DAG模型(矩形嵌套)
    集训第五周 动态规划 K题 背包
  • 原文地址:https://www.cnblogs.com/guanghe/p/6058138.html
Copyright © 2011-2022 走看看