文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>在Struts2的Action中取得请求参数值的几种方法

在Struts2的Action中取得请求参数值的几种方法

时间:2010-04-02  来源:xue2

在Struts2的Action中取得请求参数值的几种方法

文章分类:Java编程 先看GetRequestParameterAction类代码:
Java代码
  1. public class GetRequestParameterAction extends ActionSupport {   
  2.   
  3.     private String bookName;   
  4.     private String bookPrice;   
  5.        
  6.     public String getBookName() {   
  7.         return bookName;   
  8.     }   
  9.   
  10.     public void setBookName(String bookName) {   
  11.         this.bookName = bookName;   
  12.     }   
  13.   
  14.     public String getBookPrice() {   
  15.         return bookPrice;   
  16.     }   
  17.   
  18.     public void setBookPrice(String bookPrice) {   
  19.         this.bookPrice = bookPrice;   
  20.     }   
  21.        
  22.        
  23.     public String  execute() throws Exception{   
  24.            
  25.            
  26.         //方式一: 将参数作为Action的类属性,让OGNL自动填充   
  27.             
  28.         System.out.println("方法一,把参数作为Action的类属性,让OGNL自动填充:");   
  29.         System.out.println("bookName: "+this.bookName);   
  30.         System.out.println("bookPrice: " +this.bookPrice);   
  31.            
  32.            
  33.         //方法二:在Action中使用ActionContext得到parameterMap获取参数:   
  34.         ActionContext context=ActionContext.getContext();   
  35.         Map  parameterMap=context.getParameters();   
  36.            
  37.         String bookName2[]=(String[])parameterMap.get("bookName");   
  38.         String bookPrice2[]=(String[])parameterMap.get("bookPrice");   
  39.            
  40.         System.out.println("方法二,在Action中使用ActionContext得到parameterMap获取参数:");   
  41.         System.out.println("bookName: " +bookName2[0]);   
  42.         System.out.println("bookPrice: " +bookPrice2[0]);   
  43.            
  44.            
  45.         //方法三:在Action中取得HttpServletRequest对象,使用request.getParameter获取参数   
  46.         HttpServletRequest request = (HttpServletRequest)context.get(ServletActionContext.HTTP_REQUEST);    
  47.             
  48.         String bookName=request.getParameter("bookName");   
  49.         String bookPrice=request.getParameter("bookPrice");   
  50.            
  51.         System.out.println("方法三,在Action中取得HttpServletRequest对象,使用request.getParameter获取参数:");   
  52.         System.out.println("bookName: " +bookName);   
  53.         System.out.println("bookPrice: " +bookPrice);   
  54.         return SUCCESS;   
  55.            
  56.     }   
  57.   
  58. }  
public class GetRequestParameterAction extends ActionSupport {

        private String bookName;
        private String bookPrice;
        
        public String getBookName() {
                return bookName;
        }

        public void setBookName(String bookName) {
                this.bookName = bookName;
        }

        public String getBookPrice() {
                return bookPrice;
        }

        public void setBookPrice(String bookPrice) {
                this.bookPrice = bookPrice;
        }
        
        
        public String  execute() throws Exception{
                
                
                //方式一: 将参数作为Action的类属性,让OGNL自动填充
                 
                System.out.println("方法一,把参数作为Action的类属性,让OGNL自动填充:");
                System.out.println("bookName: "+this.bookName);
                System.out.println("bookPrice: " +this.bookPrice);
                
                
                //方法二:在Action中使用ActionContext得到parameterMap获取参数:
                ActionContext context=ActionContext.getContext();
                Map  parameterMap=context.getParameters();
                
                String bookName2[]=(String[])parameterMap.get("bookName");
                String bookPrice2[]=(String[])parameterMap.get("bookPrice");
                
                System.out.println("方法二,在Action中使用ActionContext得到parameterMap获取参数:");
                System.out.println("bookName: " +bookName2[0]);
                System.out.println("bookPrice: " +bookPrice2[0]);
                
                
                //方法三:在Action中取得HttpServletRequest对象,使用request.getParameter获取参数
                HttpServletRequest request = (HttpServletRequest)context.get(ServletActionContext.HTTP_REQUEST); 
                 
                String bookName=request.getParameter("bookName");
                String bookPrice=request.getParameter("bookPrice");
                
                System.out.println("方法三,在Action中取得HttpServletRequest对象,使用request.getParameter获取参数:");
                System.out.println("bookName: " +bookName);
                System.out.println("bookPrice: " +bookPrice);
                return SUCCESS;
                
        }

}

总结:

  • 方法一:当把参数作为Action的类属性,且提供属性的getter/setter方法时,xwork的OGNL会自动把request参数的值设置到类属性中,此时访问请求参数只需要访问类属性即可。
  • 方法二:可以通过ActionContext对象Map  parameterMap=context.getParameters();方法,得到请求参数Map,然后通过parameterMap来获取请求参数。需要注意的是:当通过parameterMap的键取得参数值时,取得是一个数组对象,即同名参数的值的集合。
  • 方法三:通过ActionContext取得HttpServletRequest对象,然后使用request.getParameter("参数名")得到参数值。
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载