Struts2获取参数的几种方式
Struts2由于是一个贴心的框架,所以获取参数这种体力活,就无需再通过原生的request来getParameter了,有如下几种方式进行获取
1、Action中属性驱动,必须提供与form表单name相同的后台属性get/set,这种方式适合数据量比较少的form表单提交
2、大数据量的form表单,这时一般对应后台的一个实体类,所以这时还在每个action写属性驱动,那就会代码冗余,这时可以定义一个对象来属性来进行参数接收,如User对象,只是前台传参数的时候,需要先写对象名再点对象下的属性的写法,这种写法有点是可以定义多个对象属性进行接收,缺点是前台传参比较麻烦,例子如下:
|
|
3、但是对象驱动还是不太方便,需要前台传参数时写出对象的名再点出属性值,所以还可以使用更方便的模型驱动,不需要写出类变量名再点属性,直接写类变量的属性名就可以把数据提交给模型自动接收,只需要Action实现ModelDriven<T>即可,模型驱动和类属性驱动本质差不多,但必须在Action中先new进行实例化,当然如果还有额外的不属于模型的属性需要传递,但是由于模型没有相应属性,所以无法接收,这时还需要自己在Action中添加相应的属性驱动来进行接收,模型驱动的缺点是只能接收一个模型类,不如对象驱动可以定义多个进行接收,但是优点是前台传参方便
|
|
4、参数接收类型说明:常用的8大基本数据类型都可以实现自动装箱,不过定义成员变量时建议使用包装类型,因为包装类型可以接收null值,还有一点需要注意的就是8大基本数据类型中的日期类型格式只支持2017-08-6这种格式,而不支持2017/08/6等其他类型,所以为了方便,在jsp界面上就不让用户输入日期,而是采用只读形式的日期选择控件,限定为-这种形式,反正中国人大都喜欢-这种形式的日期,尤其是内网开发更不必要去进行复杂而无谓的日期格式转换定义
5、集合参数封装,form表单中name相同的表单值会自动封装到集合属性中
5.1)、List集合封装
|
|
显示结果为:

如果是一个个以相同名,如上,进行提交,那么List集合接收到参数会自动进行顺序add,而如果提交时指定了索引位置,那么会自动提交到list集合的指定位置,如
|
结果为
|
5.2)、Map集合封装,传参数时得以中括号区分键
|
|
结果为:

Struts2获取参数的几种方式的更多相关文章
- SpringMVC获取参数的几种方式
前言: 年末了,忙了一年了却发现系统的整理的东西很少,一些基础的东西都未做整理,这里就将它随便整理一下,增加一些印象,当然在网上看到一些好的资料也会整理下来以备后用.今天整理一下springMVC获取 ...
- 【Struts2】Struts2获取session的三种方式
1.Map<String,Object> map = ActionContext.getContext().getSession(); 2.HttpSession session = S ...
- Struts2获取Session的三种方式
1.Map<String,Object> session = ActionContext.getContext().getSession(); session.put("cod ...
- Struts2获取request的几种方式汇总
Struts2获取request三种方法 struts2里面有三种方法可以获取request,最好使用ServletRequestAware接口通过IOC机制注入Request对象. 在Action中 ...
- Struts2接收参数的几种方式
一.用Action属性 在action里定义要接收的参数,并提供相应的set和get方法. 如: public class LoginAction extends ActionSupport { pr ...
- struts2的action从request获取参数值的几种方式
使用jquery框架的ajax能够方便的向后台传递参数,以$.post为例,参数有2种方式字符串和键值对:$.post(url, "name=aty&age=25")和$. ...
- php获取post参数的几种方式 RPC 规定接收取值方式 $GLOBALS['HTTP_RAW_POST_DATA'];
http://www.cnblogs.com/zhepama/p/4022606.html PHP默认识别的数据类型是application/x-www.form-urlencoded标准的数据类型. ...
- php获取post参数的几种方式
php获取post参数的几种方式 1.$_POST['paramName'] 只能接收Content-Type: application/x-www-form-urlencoded提交的数据 2.fi ...
- spring mvc获取路径参数的几种方式 - 浅夏的个人空间 - 开源中国社区
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
随机推荐
- PHP 代码简洁之道 ( PHP Clean Code)
https://laravel-china.org/topics/7774/the-conciseness-of-the-php-code-php-clean-code
- 基于java mail实现简单的QQ邮箱发送邮件
刚学习到java邮件相关的知识,先写下这篇博客,方便以后翻阅学习. -----------------------------第一步 开启SMTP服务 在 QQ 邮箱里的 设置->账户里开启 S ...
- mono下c#和c交互,字符串处理
起因是ulua里,从luajit读字符串到c#里,做了编码转换,如下 public static string lua_tostring(IntPtr luaState, int index) { v ...
- 常用代码块:创建httpclient 2
HttpGet httpGet = new HttpGet(url);SSLContext sslcontext = SSLContexts.custom().loadTrustMaterial(ne ...
- LINUX 文件/组/帮助/权限/文件压缩/管道
Linux文件/目录详解 常用文件路径的作用 /var/log/messages 系统类的日志文件 /var/log/secure 登录日志文件 /var/spool/cron 定时任务目录 /etc ...
- Python3.6全栈开发实例[018]
18.车牌区域划分, 现给出以下车牌.根据车牌的信息, 分析出各省的车牌持有量.(升级题) result = {} for car in cars: location = locals[car[0]] ...
- Linux中的流程控制语句
if语句 if [ 条件判断式 ] then 程序elif [ 条件判断式 ] then 程序else 程序fi 注意: a.使用fi结尾 b.条件判断式和中括号之间需要有空格 [root@local ...
- ACM解题之素矩阵
题意: 如果一个矩形的两条边都是素数,则称此矩形为素矩形.本题给出一个素矩形的面积,请计算其两条边的值.有多个测试用例.每个用例占一行,包含一个表示素矩形面积且不超过 108 的正整数.输入直至没有数 ...
- MySQL basics
@1: MySQL有三大类数据类型, 分别为数字.日期\时间.字符串, 这三大类中又更细致的划分了许多子类型: 数字类型 整数: tinyint.smallint.mediumint.int.bigi ...
- Javascript自动打开匹配的超链接
可以用来点击广告.... 部分代码: function AutoClick() { var DivLink=document.getElementById("divLink"); ...