接上一篇文章

package test;import com.opensymphony.xwork2.ActionSupport;
import javax.servlet.http.*;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionContext;
import java.util.*;
public class HelloAction extends ActionSupport {public String jname = "";public String jid = "";@Overridepublic String execute() throws Exception {// TODO Auto-generated method stubreturn super.execute();}private String str = "";public String hello() {this.str = "hello!!!";System.out.println("方法一,把参数作为Action的类属性,让OGNL自动填充:");System.out.println("jname:" + jname + "  jid:" + jid);ActionContext context=ActionContext.getContext();  HttpServletRequest request = (HttpServletRequest)context.get(ServletActionContext.HTTP_REQUEST);System.out.println("方法二,在Action中取得HttpServletRequest对象,使用request.getParameter获取参数");System.out.println("jname:" + request.getParameter("jname") + "  jid:" + request.getParameter("jid"));Map  parameterMap=context.getParameters();    String bookName2[]=(String[])parameterMap.get("jname");    String bookPrice2[]=(String[])parameterMap.get("jid");    System.out.println("方法三,在Action中使用ActionContext得到parameterMap获取参数:");    System.out.println("jname: " +bookName2[0]);    System.out.println("jid: " +bookPrice2[0]);  return "success";}public String getStr() {return str;}public void setStr(String str) {this.str = str;}public String getJname() {return jname;}public void setJname(String jname) {this.jname = jname;}public String getJid() {return jid;}public void setJid(String jid) {this.jid = jid;}
}

HelloAction.java

总结:

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

参考:http://www.cnblogs.com/bmbm/archive/2011/11/28/2342273.html

转载于:https://www.cnblogs.com/tengpan-cn/p/5212029.html

struts2获取请求参数的三种方式及传递给JSP参数的方式相关推荐

  1. Struts2中action接收参数的三种方法及ModelDriven跟Preparable接口结合JAVA反射机制的灵活用法...

    Struts2中action接收参数的三种方法及ModelDriven跟Preparable接口结合JAVA反射机制的灵活用法 www.MyException.Cn   发布于:2012-09-15 ...

  2. vue三种ajax请求方式,vue请求数据的三种方式

    请求数据的方式: vue-resource 官方提供的 vue的一个插件 axios fetch-jsonp 一,vue-resource请求数据 介绍:vue-resource请求数据方式是官方提供 ...

  3. 反射应用和获取Class对象的三种方式

    一.写一个"框架",可以创建任何对象运行任何方法 1.配置文件 2.使用类加载器ClassLoader,Properties集合是可以和IO流结合使用完成读取和写入数据的集合,方法 ...

  4. 获取Class对象的三种方式

    获取Class对象的三种方式 Object --> getClass() 通过对象.getclass 任何数据类型(包括基本数据类型)都有一个"静态"的class属性 通过类 ...

  5. 获取class文件对象三种方式

    Class类 阅读API的Class类得知,Class 没有公共构造方法.Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的 defineClass 方法自动构造的 获取Clas ...

  6. java反射之获取class对象,Java之反射机制(获取Class对象的三种方式)

    Java之反射机制(获取Class对象的三种方式) 开发工具与关键技术:MyEclipse 10,java 作者:刘东标 撰写时间:2019-06-14 如何得到各个字节码对应的实例对象? 每个类被加 ...

  7. JS基础-Java Class类以及获取Class实例的三种方式

    JS基础-Java Class类以及获取Class实例的三种方式 由于JVM为每个加载的class创建了对应的Class实例,并在实例中保存了该class的所有信息,包括类名.包名.父类.实现的接口. ...

  8. vue修改http请求头_vue-resouce设置请求头的三种方法

    本文主要介绍了vue-resouce设置请求头的三种方法,分享给大家,具体如下: 第一种:在Vue实例中设置 var vm = new Vue({ el:'#rrapp', data:{ showLi ...

  9. python 命令-python解析命令行参数的三种方法详解

    这篇文章主要介绍了python解析命令行参数的三种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python解析命令行参数主要有三种方法: ...

最新文章

  1. Forefront_TMG_2010-TMG建立站点间***
  2. python向图片里添加文字
  3. 一个简单的线性拟合问题,到底有多少种做法
  4. 运维少年系列 python and cisco (1)
  5. mybatis 添加语句返回对象_Mybatis底层源码分析
  6. 一加WarpTen技术今日发布:全新旗舰一加7将搭载
  7. 一流设计导航|16map|效率导航最全设计类软件!速度收藏!!
  8. 移动端input“输入框”常见问题及解决方法
  9. 分区 Service Bus 队列和主题
  10. 在 lamp(centos)下配置二级 域名 、虚拟主机
  11. 我的 CSDN 两周年创作纪念日
  12. mp3转html,使用javascript将wav转换为mp3
  13. B-树、B+树、B*树
  14. 智力题----囚犯猜帽子问题
  15. django 1.8 mysql_mysql - 升级1.7.4到django 1.8 south.db.mysql错误,不使用南 - 堆栈内存溢出...
  16. 2013级C++第15周项目——二维数组
  17. LeetCode 229 求众数 II
  18. wpf 打开输入法、禁用输入法
  19. D妹上新|DoH和DoT开始公测啦!
  20. 富士胶片集团发布2021财年上半年度财报;罗克韦尔自动化推出新的远程访问解决方案 | 全球TMT...

热门文章

  1. amoeba mysql读写分离_Mysql 实现读写分离的详细教程(amoeba)
  2. mysql恢复 报错_Mysql 数据恢复报错
  3. linux光标美化包,使用 [ powerlevel10k ] 美化你的WSL (Linux)
  4. php输出json到表格,PHP中把数据库查询结果输出为json格式
  5. mysql 5.0 乱码,解决MySQL 5.0.16的乱码问题
  6. ccs安装多版本编译器离线_大数据分析:学习工具JDK,在线安装指南
  7. Win32ASM学习[19]:结构与联合
  8. c++ socket学习(1.3)
  9. 合页损失,铰链损失_多点铰链损失功能 使用Python的线性代数
  10. php 生成css文件怎么打开,php生成html文件的多种步骤介绍