zoukankan      html  css  js  c++  java
  • Struts2 的Action中取得请求参数值的几种方法

    先看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. }    

    总结: 

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

  • 相关阅读:
    .net注册iis
    hdu 1081To The Max
    hdu 1312Red and Black
    hdu 1016Prime Ring Problem
    hdu 1159Common Subsequence
    hdu 1372Knight Moves
    hdu 1686Oulipo
    hdu 1241Oil Deposits
    hdu 1171Big Event in HDU
    hdu 4006The kth great number
  • 原文地址:https://www.cnblogs.com/hfultrastrong/p/7443566.html
Copyright © 2011-2022 走看看