Java琐事

-I am not alone
posts - 54, comments - 30, trackbacks - 0, articles - 1
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

转自:http://lkf520java.javaeye.com/blog/565989

先看GetRequestParameterAction类代码:

 1public 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}
  
59


 

 总结:


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

只有注册用户登录后才能发表评论。


网站导航: