1.属性驱动


 /**
* @ClassName: Demo8Action
* @Description: struts2如何获得参数
* 每次请求action时都会创建新的action实例对象
* @author 112
* @date 2018年2月25日 下午9:17:41
*/
public class Demo8Action extends ActionSupport{ public Demo8Action() {
super();
System.out.println("Demo8Action被创建了");
} //准备与页面字段名称相同的属性
private String name;
//自动类型转换
private Integer age;
private Date birthday; public String execute(){
System.out.println("name参数值为:" + name);
System.out.println("age参数值为:" + age);
System.out.println("birthday参数值为:" + birthday);
return SUCCESS;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public Integer getAge() {
return age;
} public void setAge(Integer age) {
this.age = age;
} public Date getBirthday() {
return birthday;
} public void setBirthday(Date birthday) {
this.birthday = birthday;
} }
 <form action="${pageContext.request.contextPath}/Demo8Action">
用户名:<input type="text" name="name"/><br>
年龄:<input type="text" name="age"/><br>
生日:<input type="text" name="birthday"/><br>
<input type="submit" value="提交">
</form>
 <package name="params" namespace="/" extends="struts-default">
<action name="Demo8Action" class="cn.rocker.c_params.Demo8Action" method="execute">
<result name="success" type="dispatcher">/form1.jsp</result>
</action>
</package>

2.对象驱动


 /**
* @ClassName: Demo9Action
* @Description: TODO
* @author 112
* @date 2018年2月25日 下午10:27:54
*/
public class Demo9Action extends ActionSupport{
private User user; public String execute(){
System.out.println(user);
return SUCCESS;
} public User getUser() {
return user;
} public void setUser(User user) {
this.user = user;
}
}
 <form action="${pageContext.request.contextPath}/Demo9Action">
用户名:<input type="text" name="user.name"/><br>
年龄:<input type="text" name="user.age"/><br>
生日:<input type="text" name="user.birthday"/><br>
<input type="submit" value="提交">
</form>
 <package name="params" namespace="/" extends="struts-default">
<!-- 转发 -->
<action name="Demo9Action" class="cn.rocker.c_params.Demo9Action" method="execute">
<result name="success" type="dispatcher">/form2.jsp</result>
</action>
</package>

3.模型驱动


 /**
* @ClassName: Demo10Action
* @Description: TODO
* @author 112
* @date 2018年2月25日 下午10:42:32
*/
public class Demo10Action extends ActionSupport implements ModelDriven<User>{ private User user = new User(); public String execute(){
System.out.println(user);
return SUCCESS;
} @Override
public User getModel() {
return user;
} }
 <form action="${pageContext.request.contextPath}/Demo10Action">
用户名:<input type="text" name="name"/><br>
年龄:<input type="text" name="age"/><br>
生日:<input type="text" name="birthday"/><br>
<input type="submit" value="提交">
</form>
 <package name="params" namespace="/" extends="struts-default">
<!-- 转发 -->
<action name="Demo10Action" class="cn.rocker.c_params.Demo10Action" method="execute">
<result name="success" type="dispatcher">/form3.jsp</result>
</action>
</package>

4.集合类型参数封装


 /**
* @ClassName: Demo11Action
* @Description: 封装集合类型参数
* @author 112
* @date 2018年2月26日 下午8:39:59
*/
public class Demo11Action extends ActionSupport{
private List<String> list;
private Map<String,String> map; public String execute(){
System.out.println(list);
System.out.println(map);
return SUCCESS;
} public List<String> getList() {
return list;
} public void setList(List<String> list) {
this.list = list;
} public Map<String, String> getMap() {
return map;
} public void setMap(Map<String, String> map) {
this.map = map;
} }
 <form action="${pageContext.request.contextPath}/Demo11Action">
用户名:<input type="text" name="list"/><br>
用户名:<input type="text" name="list[1]"/><br>
用户名:<input type="text" name="map['haha']"/><br>
<input type="submit" value="提交">
</form>
 <package name="params" namespace="/" extends="struts-default">
<!-- 转发 -->
<action name="Demo11Action" class="cn.rocker.c_params.Demo11Action" method="execute">
<result name="success" type="dispatcher">/form4.jsp</result>
</action>
</package>

Struts2_参数获得方式的更多相关文章

  1. [Spring MVC] - SpringMVC的各种参数绑定方式

    SpringMVC的各种参数绑定方式 1. 基本数据类型(以int为例,其他类似):Controller代码: @RequestMapping("saysth.do") publi ...

  2. SpringMVC的各种参数绑定方式

    1. 基本数据类型(以int为例,其他类似):2. 包装类型(以Integer为例,其他类似):3. 自定义对象类型:4. 自定义复合对象类型:5. List绑定:6. Set绑定:7. Map绑定: ...

  3. 十一、Struts2封装请求参数的方式

    十一.Struts2封装请求参数的方式 方式一.Action 本身作为model对象,通过成员setter封装(一个名字为params的拦截器干的) 注意:表单中的名称要和动作类中的名称一致(这是必须 ...

  4. C# 中参数验证方式

    C# 中参数验证方式 一般在写方法的时候,第一步就是进行参数验证,这也体现了编码者的细心和缜密,但是在很多时候这个过程很枯燥和乏味,比如在拿到一个API设计文档的时候,通常会规定类型参数是否允许为空, ...

  5. Android进阶(二十五)setTextColor()的参数设置方式

    setTextColor()的参数设置方式 查了下资料发现setTextColor()的参数可以写成以下形式: 直接使用颜色值 setTextColor(0xFF0000FF);//0xFF0000F ...

  6. get方法与post方法的区别与js获取url参数的方式

    1.get方法与post方法的区别: 区别一:get重点在从服务器上获取资源,post重点在向服务器发送数据:区别二:get传输数据是通过URL请求,以field(字段)= value的形式,置于UR ...

  7. [转载]SpringMVC的Model参数绑定方式

    SpringMVC的各种参数绑定方式 http://www.cnblogs.com/HD/p/4107674.html springMVC中复杂嵌套对象.List等集合类型数据绑定 http://ww ...

  8. DRF框架获取参数的方式

    DRF获取参数的方式 例如url url(r'^demo/(?P<word>.*)/$', DemoView.as_view()) 在类视图中获取参数 url:http://127.0.0 ...

  9. 使用HTTP协议向服务器传参的方式及django中获取参数的方式

    使用HTTP协议向服务器传参的四种方式 URL路径携带参数,形如/weather/beijing/2018; 查询字符串(query string),形如key1=value1&key2=va ...

随机推荐

  1. 洛谷 P1126 机器人搬重物

    题目描述 机器人移动学会(RMI)现在正尝试用机器人搬运物品.机器人的形状是一个直径 $1.6 米的球.在试验阶段,机器人被用于在一个储藏室中搬运货物.储藏室是一个 N×MN \times MN×M ...

  2. java读取excel获取数据写入到另外一个excel

    pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...

  3. spring boot项目基本结构

    /==================================Controller @Controller public class SimpleController { @Autowired ...

  4. MT【253】仿射和蒙日圆

    如图,设点$M(x_0,y_0)$是椭圆$C:\dfrac{x^2}{2}+y^2=1$上一点,从原点$O$向圆$M:(x-x_0)^2+(y-y_0)^2=\dfrac{2}{3}$作两条切线分别与 ...

  5. ftp:linux下利用shell脚本添加虚拟用户并赋予权限

    首先ftp配置应为虚拟用户登录模式 用户密码文本目录为/etc/vsftpd/vftpuser,代码如下: #!/bin/bash # ];then username=$ password=$ hom ...

  6. android 读取EXcel 文件 读取文件内存卡的权限

    android 采用Java的读取xls文件的方式实现. 需要导入第三方Jxl.jar 包.  代码改自 其他博主  : 这只摘录下 读取xls文件的部分代码,当然这个代码在安卓平台需要添加下面的权限 ...

  7. 「ZJOI2016」大森林 解题报告

    「ZJOI2016」大森林 神仙题... 很显然线段树搞不了 考虑离线操作 我们只搞一颗树,从位置1一直往后移动,然后维护它的形态试试 显然操作0,1都可以拆成差分的形式,就是加入和删除 因为保证了操 ...

  8. PHP日志切割shell

    #!/bin/bash#此脚本用于自动分割php日志,error.log#每天00:01执行此脚本 将前一天的errors.log重命名为errors-xxxx-xx-xx.log格式,并重新打开日志 ...

  9. 【php】php目录路径函数系列

    在写框架和项目时候我们经常要获取绝对路径,php有内置函数realpath(),  也可以写个函数来实现这个功能 function getAbsolutePath($path) { $path = s ...

  10. 牛客练习赛43 Tachibana Kanade Loves Probability(快速幂)

    链接:https://ac.nowcoder.com/acm/contest/548/B来源:牛客网 题目描述 立华奏在学习初中数学的时候遇到了这样一道大水题: “设箱子内有 n 个球,其中给 m 个 ...