先看GetRequestParameterAction类代码: 
Java代码

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

总结:

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

Struts2 的Action中取得请求参数值的几种方法的更多相关文章

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

    先看GetRequestParameterAction类代码: public class GetRequestParameterAction extends ActionSupport { priva ...

  2. 在Struts2的Action中获得request response session几种方法

    转载自~ 在Struts2中,从Action中取得request,session的对象进行应用是开发中的必需步骤,那么如何从Action中取得这些对象呢?Struts2为我们提供了四种方式.分别为se ...

  3. struts2的action从request获取参数值的几种方式

    使用jquery框架的ajax能够方便的向后台传递参数,以$.post为例,参数有2种方式字符串和键值对:$.post(url, "name=aty&age=25")和$. ...

  4. Struts2的Action中获取request对象的几种方式?

    通过ActionContext.getSession获取 通过ServletActionContext.getRequest()获取 通过SessionAware接口注入 通过ServletReque ...

  5. Struts2 在Action中操作数据

    Servlet存储数据的方式 在Servlet中,使用ServletContext对象来存储整个WebApp的数据,ServletContext中直接存储整个WebApp的公共数据,可使用set|ge ...

  6. Struts2中Action取得表单数据的几种方法

    Struts2中Action取得表单数据的几种方法   Struts2中Action获得表单数据的几种方法struts2 Action获取表单传值 1.通过属性驱动式JSP: <form act ...

  7. 在struts2的action中操作域对象(request、session)

    在struts2的Action中,操作域对象一共有三种方式: 1.ActionContext(与servelt API无关联): //相当于request ActionContext.getConte ...

  8. JavaWeb_(Struts2框架)Action中struts-default下result的各种转发类型

    此系列博文基于同一个项目已上传至github 传送门 JavaWeb_(Struts2框架)Struts创建Action的三种方式 传送门 JavaWeb_(Struts2框架)struts.xml核 ...

  9. SpringMVC的请求转发的三种方法

    SpringMVC请求转发的三种方法 首先明白请求转发是一次请求,地址栏不会发生变化,区别于重定向.springmvc环境自行配置. 以下举例中存在如下文件/WEB-INF/pages/success ...

随机推荐

  1. Python练习笔记——字符串反转

    请输入一段字符串,不利用反转函数,编写一段代码,将其反转. def list_reverse(a): list_long = len(a) list_long_half = list_long // ...

  2. FA_资产成批调整(流程)

    2014-06-08 Created By BaoXinjian

  3. SSH2框架实现注冊发短信验证码实例

    这两天開始写程序了,让用SSH2框架,曾经没有接触过Java项目更没有接触过SSH2框架,所以用注冊開始了我Java之旅.后来发现,后台代码挺easy理解的,跟.net的差点儿相同.就是层与层之间的调 ...

  4. List 集合remove问题

    java的list集合中.使用remove删除元素: 方法一: static List<Integer> list3 = new ArrayList<Integer>(); s ...

  5. laravel 如何引入自己的函数或类库

    例如在app下建一个Common文件夹 在Common下建一个function.php 放入公共函数 例如: function test(){ echo 'this is a test'; } 在项目 ...

  6. 怎么从docker中copy文件到 本机

    怎么从docker中copy文件到 本机 docker cp <containerId>:/file/path/within/container /host/path/target

  7. IP和java.net.InetAddress类的使用

    一.IP 1.地址格式 互联网上每一台计算机都有一个唯一标示自己的标记,这个标记就是IP地址.IP 地址使用32 位长度二进制数据标示,一般在实际中看到的大部分IP地址都是以十进制的数据形式标示的,如 ...

  8. webservice快速入门-使用JAX-WS注解的方式快速搭建ws服务端和客户端(一)

    1.定义接口 package org.WebService.ws.annotation; import javax.jws.WebService; @WebService public interfa ...

  9. js判断输入是否为数字的具体实例

    这篇文章介绍了js判断输入是否为数字的具体实例,有需要的朋友可以参考一下 <html xmlns="http://www.3lian.com/"> <head&g ...

  10. 关于Solr6.0中solrj使用简单例子

    solr6.0的solrJ接口有部分变化,下面列出了简单的使用实例,有需要的朋友可以参考下. package com.ailk.solr6; import java.io.IOException; i ...