`
xvm03
  • 浏览: 140920 次
  • 来自: ...
社区版块
存档分类
最新评论

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

阅读更多


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.   
总结:



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

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics