strut2接收参数的三种方式
strut2接收参数有三种方式(普通属性\领域对象\模型驱动),分别对三种进行一个总结:
一.普通属性
Jsp代码<body> <h1>普通属性</h1> <form action="${pageContext.request.contextPath}/Demo1Action" method="post"> 用户名:<input type="text" name="name" ><br> 年龄:<input type="text" name="age" ><br> 入职日期:<input type="text" name="hireDate" ><br> <input type="submit" value="提交" ><br> </form> </body> Action代码//使用Action获得表单提交参数 //1.在Action中准备与参数键相同的属性,并提供相应的set方法,参数值会自动封装到属性中. //2.封装参数还会帮我们自动类型转换. (8大基本数据类型|指定格式的Date类型) public class Demo7Action extends ActionSupport { private static final long serialVersionUID = 1L; private String name; private Integer age; private Date hireDate; @Override public String execute() throws Exception { System.out.println("name:"+name+",age:"+age+",hireDate:"+hireDate); return SUCCESS; } public void setName(String name) { this.name = name; } public void setAge(Integer age) { this.age = age; } public void setHireDate(Date hireDate) { this.hireDate = hireDate; } } |
二.领域对象
Jsp代码<body> <h1>领域对象</h1> <form action="${pageContext.request.contextPath}/Demo8Action" method="post"> 用户名:<input type="text" name="user.name" ><br> 年龄:<input type="text" name="user.age" ><br> 入职日期:<input type="text" name="user.hireDate" ><br> <input type="submit" value="提交" ><br> </form> </body> Action代码//使用Action获得表单提交参数 //1 在action中准备对象属性.并提供对象的set/get方法 //2 表单提交的键格式:对象属性名.属性名 public class Demo8Action extends ActionSupport { private static final long serialVersionUID = 1L; private User user; @Override public String execute() throws Exception { System.out.println(user); return SUCCESS; } public void setUser(User user) { this.user = user; } public User getUser() { return user; } } |
三.模型驱动
Jsp代码<body> <h1>模型驱动</h1> <form action="${pageContext.request.contextPath}/Demo9Action" method="post"> 用户名:<input type="text" name="name" ><br> 年龄:<input type="text" name="age" ><br> 入职日期:<input type="text" name="hireDate" ><br> <input type="submit" value="提交" ><br> </form> </body> Action代码//使用Action获得表单提交参数 //1 action实现ModelDriven接口.在实现方法中返回封装参数的User对象 //2 表单提交参数时,直接写对象中属性名即可. public class Demo9Action extends ActionSupport implements ModelDriven<User> { private static final long serialVersionUID = 1L; private User user = new User(); public User getModel() { return user; } @Override public String execute() throws Exception { System.out.println(user); return SUCCESS; } } |
复杂类型接收
|
Jsp代码 <body> <h1>复杂类型接收</h1> <form action="${pageContext.request.contextPath}/Demo10Action" method="post"> 数组:<input type="text" name="arr" ><br> 数组:<input type="text" name="arr" ><br> 数组:<input type="text" name="arr" ><br> List:<input type="text" name="list" ><br> List:<input type="text" name="list" ><br> List:<input type="text" name="list" ><br> List:<input type="text" name="list[6]" ><br> Map:<input type="text" name="map['name']" ><br> Map:<input type="text" name="map['age']" ><br> Map:<input type="text" name="map['hehe']" ><br> <input type="submit" value="提交" ><br> </form> </body> Action代码 //演示使用Action获得表单提交参数 => 复杂类型接收 public class Demo10Action extends ActionSupport { private static final long serialVersionUID = 1L; private String[] arr ; private List list; private Map map; @Override public String execute() throws Exception { System.out.println(Arrays.toString(arr)); System.out.println(list); System.out.println(map); return SUCCESS; } public void setArr(String[] arr) { this.arr = arr; } public void setList(List list) { this.list = list; } public void setMap(Map map) { this.map = map; } } |
strut2接收参数的三种方式的更多相关文章
- ssh框架总结之action接收参数的三种方式
页面将参数传递给action的三种方式 一是通过属性传值: 将页面和action的的属性值保持一致,在action上写上该属性的set和get方法,这样在页面提交参数的时候,action就会调用set ...
- ASP.NET MVC post请求接收参数的三种方式
1.在控制器中建立一个PostDemo方法,建立视图创建一个表单 <h2>PostDemo</h2> name的值:@ViewBag.name <br /> nam ...
- 命令行运行Python脚本时传入参数的三种方式
原文链接:命令行运行Python脚本时传入参数的三种方式(原文的几处错误在此已纠正) 如果在运行python脚本时需要传入一些参数,例如gpus与batch_size,可以使用如下三种方式. pyth ...
- SpringBoot Controller接收参数的几种方式盘点
本文不再更新,可能存在内容过时的情况,实时更新请移步我的新博客:SpringBoot Controller接收参数的几种方式盘点: SpringBoot Controller接收参数的几种常用方式盘点 ...
- struts2 Action 接收参数的三种方法
刚学Struts2 时 大家可能遇到过很多问题,这里我讲一下Action 接收参数的三种方法,我曾经在这上面摔过一回.所以要警醒一下自己..... 第一种:Action里声明属性,样例:account ...
- PHP命令行脚本接收传入参数的三种方式
通常PHP都做http方式请求了,可以使用GET or POST方式接收参数,有些时候需要在shell命令下把PHP当作脚本执行,比如定时任务.这就涉及到在shell命令下如何给php传参的问题,通常 ...
- spring mvc从前台往后台传递参数的三种方式
jsp页面: 第一种:使用控制器方法形参的方式(常用) 第二种:使用模型传参的方式(如果前台往后台传递的参数非常多,如果还使用形参的方式传递,非常复杂.我们可以使用模型传参的方式,把多 个请求的参数 ...
- 前端ajax异步传值以及后端接收参数的几种方式
原文参考 异步传值 前台往后台传值呢,有很多种方式,大家听我细细道来. 第一种呢,也是最简单的一种,通过get提交方式,将参数在链接中以问号的形式进行传递. // 前台传值方法 // 触发该方法调用a ...
- spring mvc从后台往前台传参数的三种方式
第一种:使用Model对象(常用) 第一步:使用model对象往前台传递数据 第二步:在jsp中接收从后台传递过来的参数 第二种:使用HttpServletRequest对象 第一步:使用HttpSe ...
随机推荐
- Chrome浏览器vue-devtools插件安装教程
1.打开https://github.com/vuejs/vue-devtools,cmd方式直接输入:git Clone https://github.com/vuejs/vue-devtools. ...
- 【转】Linux下统计当前文件夹下的文件个数、目录个数
1) 统计当前文件夹下文件的个数 复制代码代码如下: ls -l |grep "^-"|wc -l 2) 统计当前文件夹下目录的个数 复制代码代码如下: ls -l |grep & ...
- JS面向对象使用面向对象进行开发
面向对象基础一之初体验使用面向对象进行开发 对 JS 中的面向对象的基础进行讲述, 初体验使用面向对象进行开发 主要内容是 面向对象的概念及特性 用面向对象的方式解决简单的标签创建实例 一些基础的 ...
- WPF 自定义TreeView控件样式,仿QQ联系人列表
一.前言 TreeView控件在项目中使用比较频繁,普通的TreeView并不能满足我们的需求.因此我们需要滴对TreeView进行改造.下面的内容将介绍仿QQ联系人TreeView样式及TreeVi ...
- iframe 里的高度适应的问题
iframe 这个东西功能是很强大,但是有一个巨大的问题就是高度自适应的问题: 不过这个问题,百度或者谷歌上有很多解决办法,但是,很多时候都有兼容性问题: 所有我就每个方法都试了一遍,终于找到了一个 ...
- java模式之模板模式——抽象类
模板设计模式(Template ) abstract class Action{ // 定义一个行为类 public static final String WORK = "work&quo ...
- SSO-单点统一登录系统的设计与实现
本文主要基于web类应用展开讨论,提供的是一种通用机制和方法,所以不论何种技术栈都可进行相应的具体实现. 实现目标 可以在相同或跨域环境下完成各应用的统一登录/注销 方案原理 本质上是采用了web应用 ...
- PHPCMS v9.6.0 任意文件上传漏洞分析
引用源:http://paper.seebug.org/273/ 配置了php debug的环境,并且根据这篇文章把流程走了一遍,对phpstorm的debug熟练度+1(跟pycharm一样) 用户 ...
- [SCOI 2010]传送带
Description 题库链接 在一个 \(2\) 维平面上有两条传送带,每一条传送带可以看成是一条线段.两条传送带分别为线段 \(AB\) 和线段 \(CD\) .在 \(AB\) 上的移动速度为 ...
- [HNOI2010]MATRIX 矩阵
Description Input 第一行包含三个正整数N M P表示矩阵的行数列数以及每个数的范围,接下来N行每行包含M个非负整数,其中第i行第j个数表示以格子(i,j)为右下角的2*2子矩阵中的数 ...