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

接上一篇文章
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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/396773.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CentOS6.5 搭建Open***服务器

前言:之前搭建过程中找了5-6个教程一起看,真是累,难道就没有写的详细一点,一次成功的吗,基于此花了一下午制作了本教程,实际测试2遍均成功,懒人福音。基础环境:系统:Cent…

python如何在exel中编程_如何使用Python以编程方式将行添加到现有Excel表中

尽管有各种各样的pythonexcel操作库和资源,但我无法找到具体的解决方案。在 现在,我有一个表格存在的Excel模板文件。我想编写一个Python程序来填充这个表。对于任何现有的Excel库都可以这样做吗?模板Excel文件包含一个空表的工作表&#xff…

c语言文件分屏显示,通用子目录文件显示方法

通用子目录文件显示方法在用CHKDS/V对磁盘子目录及子目录文件进行查找时,由于输出显示信息没有分屏显示,很容易错过需要的信息,并且显示信息没有标记出隐藏的子目录名及子目录文件名,这样就对进一步的子目录及文件操作带来许多不便。若辅以管道操作采用CHKDSK/V:|MORE,虽然可分…

Javascript、Dom、JQuery

1、Javascript JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。 1.1 存在形式 1 1、文件形式 2 <script src"../jqu…

mysql镜像_Mysql phpmyadmin docker镜像安装

前言1.介于mysql的安装很容易出现各种坑&#xff0c;本文使用 mysql 的docker镜像2.为了方便管理mysql数据库又不暴露mysql服务&#xff0c;所以使用phpmyadmin管理pull镜像#下载mysql镜像docker pull mysql#下载phpmyadmin镜像docker pull phpmyadmin/phpmyadmin创建网络docke…

linux安装lrzsz,并使用rz sz 命令

1 centeos中使用 yum -y install lrzsz 命令下载并安装 2 使用 rz 命令将windows文件上传到linux 3 使用 sz 命令将linux文件下载到windows 例如&#xff1a; 4 tar zcvf dbq.tar.gz files/ 打包指定文件夹 5 sz dbq.tar.gz 转载于:https://www.cnblogs.com/shaner/p/6387516.h…

慈不掌兵,义不行贾,烂好人难成大业!

两个月前&#xff0c;朋友的创业公司倒闭了。 朋友是温文尔雅的白面君子&#xff0c;有着光鲜的履历和出众的能力。和他聊天&#xff0c;永远觉得沐浴春风。温润如玉&#xff0c;充满魅力。 朋友细致而体贴。他记得你的生日时&#xff0c;并在那天给发送祝福和红包&#xff1b;…

c++如何打开hdf5文件_如何打开CSV格式文件才能正常使用?

正文开始前先给大家来一波福利&#xff0c;欢迎大家扫码关注后&#xff0c;手动发送“薪酬”领取《企业薪酬管理必备资料包》&#xff01;注意&#xff1a;先扫码关注再回复回复关键词&#xff01;先扫码关注再回复回复关键词&#xff01;先扫码关注再回复回复关键词&#xff0…

Linux驱动技术(四) _异步通知技术

异步通知的全称是"信号驱动的异步IO"&#xff0c;通过"信号"的方式&#xff0c;放期望获取的资源可用时&#xff0c;驱动会主动通知指定的应用程序&#xff0c;和应用层的"信号"相对应&#xff0c;这里使用的是信号"SIGIO"。操作步骤是…

go 类型断言_(57)接口的类型断言

GO提供了一个方法&#xff0c;用来判断接口的底层值是什么类型类型断言 提供了访问接口值底层具体值的方式。t : i.(T)该语句断言接口值 i 保存了具体类型 T&#xff0c;并将其底层类型为 T 的值赋予变量 t。若 i 并未保存 T 类型的值&#xff0c;该语句就会触发一个panic。为了…

Html、CSS、JavaScript 实时效果在线编辑器 - 学习的好工具,算不算?!

关于 二维码 与 NFC 之间的出身贫贱说太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es)本文遵循“署名-非商业用途-保持一致”创作公用协议转载请保留此句&#xff1a;太阳火神的漂亮人生 - 本博客专注于 敏捷开发及移动和物联设备研究&#xff1a;iOS、Android、Html5、…

vxlan 资料及其在 neutron中的应用

2019独角兽企业重金招聘Python工程师标准>>> VXLAN 是一个新兴的SDN 标准&#xff0c;它定义了一种新的 overlay 网络&#xff0c;它主要的创造者是 VMware, Cisco 和 Arista。它被设计来消除虚拟化网络世界中的 VLAN 数目的限制。VXLAN 本身是一个多播标准&#xf…

横流式冷却塔计算风量_研讨丨卓展标准高效制冷机房技术之影响冷却塔效率的几个因素...

集中制冷用空调系统中&#xff0c;单台冷却塔的冷却水量基本上都小于1,000m/h&#xff0c;且装有淋水填料的横流机械通风开式居多。本文将已横流开式冷却塔为对象&#xff0c;探讨影响其效率的几个因素。横流开式冷却塔示意图如下所示&#xff1a;横流开式冷却塔示意图 Fig 01说…

前端解决跨域问题的8种方案

2019独角兽企业重金招聘Python工程师标准>>> 1.同源策略如下&#xff1a; URL说明是否允许通信http://www.a.com/a.js http://www.a.com/b.js同一域名下允许http://www.a.com/lab/a.js http://www.a.com/script/b.js同一域名下不同文件夹允许http://www.a.com:8000/…

k歌的录音伴奏合成技术如何实现_K歌神器,用唱吧麦克风攀登天籁高峰

自从喜欢上了手机K歌&#xff0c;经常会上传一些自己的作品&#xff0c;起初无论音质如何都是乐在其中&#xff0c;可时间久了发现回放效果确实不如那榜单上的高手&#xff0c;究其原因想到了麦克风&#xff0c;网上一搜果然有各种K歌辅助工具&#xff0c;多番对比之下&#xf…

android点击左上角划出,使用Android中的Path和RectF在左上角右上角左下角绘制圆角...

有一个Path#addRoundRect()重载,它接受一个包含八个值的float数组,其中我们可以为四个角中的每一个指定x和y半径.这些值为[x,y]对,从左上角开始,顺时针绕其余部分.对于我们想要舍入的那些角,我们将该对的两个值都设置为半径值,并将它们保留为零,而不是那些.作为一个说明性示例,…

Nodejs微信开发

因为使用了Bot Framework开发了一个小功能&#xff0c;它目前支持了Skype\Teams\Slack等&#xff0c;但在国内来讲&#xff0c;微信还是一个比较流行的软件&#xff0c;所以需要接上微信 原来开发Bot的时候使用的是.Net开发的&#xff0c;这次我决定使用Nodejs开发一个简单的后…

性别有什么用_为啥不让男孩玩布娃娃?别让你的“性别偏见”,给孩子的人生设限...

在养育孩子的过程中&#xff0c;父母总是会犯许多错误&#xff0c;更是有一些错误会直接使孩子毁掉一生&#xff0c;而性别偏见正是很多家长都会去犯的错误&#xff0c;对男孩和女孩有着刻板印象&#xff0c;也正是因为这一点使孩子的潜力和天赋被压制。前几天我带着孩子去逛商…

android的时间代码怎么写,Android 日期和时间的使用实例详解

Android 日期和时间的使用日期和时间的使用&#xff1b;1&#xff1a;弹出框TimePickerDialog,DatePickerDialog2&#xff1a;组件TimePicker,DatePickerTimePickerDialog的使用&#xff1a;通过点击button显示图一&#xff0c;然后用户可以设置时间DatePickerDialog的使用只需…

andriod studio 查看项目依赖_Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图...

Maven 组件界面介绍如上图标注 1 所示&#xff0c;为常用的 Maven 工具栏&#xff0c;其中最常用的有&#xff1a;第一个按钮&#xff1a;Reimport All Maven Projects 表示根据 pom.xml 重新载入项目。一般单我们在 pom.xml 添加了依赖包或是插件的时候&#xff0c;发现标注 4…