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 }
  • 相关阅读:
    PowerDesigner反向工程操作步骤 以PowerDesigner15为例
    RegularExpressionValidator控件中正则表达式用法
    在C#中进行数据纵向不定行转横向列,多条信息成一行,例如员工薪资信息
    Oracle常见等待事件说明
    ORACLE 绑定变量用法总结(转)
    Configure Oracle 11gR2 RAC 一节点执行root.sh脚本报错
    ORACLE ASH/AWR
    db file sequential read 事件的优化(一)
    Redo Log Buffer的大小设置转载
    Oracle 判断 并 手动收集 统计信息 脚本
  • 原文地址:https://www.cnblogs.com/guanghe/p/6058138.html
Copyright © 2011-2022 走看看