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. oracle的用户账号密码设置

    1. 可以用sqlplus system/你输入的密码 可以用sqlplus /nolog 可以用sqlplus /as sysdba2. @你scott.sql的路径3. 修改你的账号 alter ...

  2. 数据结构与算法(Python)

    一.数据结构与算法概述 数据结构与算法的定义 我们把现实中大量而且非常复杂的问题以特定的数据类型(个体)和特定的存储结构(个体的关系)保存到相应的主存储器(内存)中,以及在此基础上为实现某个功能而执行 ...

  3. IDEA 不识别的MAVEN 项目应如何处理

    有些人啊,上传到git的项目,根本不是项目而是一个文件夹,文件夹里边还有个文件夹那才是项目,IDEA 不会识别出它是项目来 这个时候,需要选择这个文件夹下的pom.xml 文件 右键 pom.xml然 ...

  4. IDEA+Springboot+JRebel热部署实现

    步骤一:在IDEA中安装JRebel插件(File->settings->plugins->search in repositories),如下图 步骤二:安装完成之后,重启idea ...

  5. 【BZOJ2940】条纹(博弈论)

    [BZOJ2940]条纹(博弈论) 题面 BZOJ 神TM权限题. 题解 我们把题目看成取石子的话,题目就变成了这样: 有一堆\(m\)个石头,每次可以取走\(c,z,n\)个,每次取完之后可以把当前 ...

  6. 【BZOJ4784】[ZJOI2017]仙人掌(Tarjan,动态规划)

    [BZOJ4784][ZJOI2017]仙人掌(Tarjan,动态规划) 题面 BZOJ 洛谷 题解 显然如果原图不是仙人掌就无解. 如果原图是仙人掌,显然就是把环上的边给去掉,变成若干森林连边成为仙 ...

  7. IISEXPRESS64位运行

    调试时使用IISEXPRESS 64位.经网上查找这样开启

  8. [JSOI2008]魔兽地图(树形dp)

    DotR (Defense of the Robots) Allstars是一个风靡全球的魔兽地图,他的规则简单与同样流行的地图DotA (Defense of the Ancients) Allst ...

  9. JDK8中的并行流

    1.IntStream.parallel():获取并行流处理 2. Collection中调用parallelStream()获取并行流 3.并行排序Arrays.parallelSort()

  10. JSP、EL、JSTL

    JSP(Java Server Pages) 什么是JSP Java Server Pages(Java服务器端的页面) 使用JSP:SP = HTML + Java代码 + JSP自身的东西.执行J ...