先看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. PowerDesigner 12小技巧-pd小技巧-pd工具栏不见了-pd修改外键命名规则-pd添加外键

    PowerDesigner 12小技巧-pd小技巧-pd工具栏不见了-pd修改外键命名规则-pd添加外键 1. 附加:工具栏不见了 调色板(Palette)快捷工具栏不见了PowerDesigner ...

  2. XtraTreeList直接显示Access数据库表中的数据

    方法1:点击在拖入的显示控件(TreeList)右上方的箭头,在Treelist任务中选择数据源,添加项目数据源,依次选择数据库.数据集,新建连接,浏览选择数据库(*.mdb),依次点击 下一步,选择 ...

  3. OAF_OAF控件系列1 - Region Type汇总(概念)

    2014-06-22 Created By BaoXinjian

  4. DBA_实践指南系列3_Oracle Erp R12系统克隆Clone(案例)

    2013-12-03 Created By BaoXinjian

  5. 判断当前用户有无Administrator的权限

    很方便的一个函数,有兴趣的看看! /************************************************************************/ /* 函数说明: ...

  6. Java中的static关键字的用法

    1.静态方法 static:通常在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法 声明为static的方法有以下几条限制: (1)它们仅能调用其他的static方法. (2 ...

  7. 音频特征提取——pyAudioAnalysis工具包

    作者:桂. 时间:2017-05-04  18:31:09 链接:http://www.cnblogs.com/xingshansi/p/6806637.html 前言 语音识别等应用离不开音频特征的 ...

  8. NUMA体系结构详解

    1. NUMA的几个概念(Node,socket,core,thread) 对于socket,core和thread会有不少文章介绍,这里简单说一下,具体参见下图: 一句话总结:socket就是主板上 ...

  9. Windows环境下文件的彻底删除与恢复,推荐几个工具(整理)

    1. 背景 在Windows(从XP到Win7)中删除文件时,无论是Delete或者是Shift+Delete,都不能真正的删除文件,它做的事情只是从文件分配表中删除了该文件的信息,而并未将文件从存储 ...

  10. [转]WCF类型共享技巧

    调用过WCF服务的同学可能都会遇到这样的问题,同一个实体类型,不同的服务Visual Studio生成了不同的版本,例如Service1.User和Service2.User,对于C#来说,这是两个不 ...