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. mysql查询同一个字段下,不同内容的语句

    太久没有用SQL语句都有些忘记了,今天工作中遇到了那就尝试记录一下吧 需求是这样的:想查询同一个字段下,两条指定了不同内容,的其他的值 主要是要想到用where......in 语句如下:select ...

  2. Hdoj 1058.Humble Numbers 题解

    Problem Description A number whose only prime factors are 2,3,5 or 7 is called a humble number. The ...

  3. android startActivityForResult 使用实例

    ActivityForResult.java public class ActivityForResult extends Activity { Button bn; EditText city; @ ...

  4. 【UOJ#311】【UNR #2】积劳成疾(动态规划)

    [UOJ#311][UNR #2]积劳成疾(动态规划) UOJ Solution 考虑最大值分治解决问题.每次枚举最大值所在的位置,强制不能跨过最大值,左右此时不会影响,可以分开考虑. 那么设\(f[ ...

  5. 「SPOJ6340」「BZOJ1939」ZUMA - ZUMA【记忆化搜索】

    题目链接 [洛谷传送门] 题解 \(f[i][j][k]\)表示在消除了\((i,j)\),在后面加上了\(k\)个珠子的总的珠子数. 考虑三种决策:(题目给出的\(k\)在下文表示成\(K\)) 决 ...

  6. J2EE--常见面试题总结 -- ( 一)

    StringBuilder和StringBuffer的区别: String       字符串常量   不可变  使用字符串拼接时是不同的2个空间 StringBuffer  字符串变量   可变   ...

  7. 译:Spring Boot 自动伸缩

    原文链接:https://dzone.com/articles/spring-boot-autoscaler 作者:Piotr Mińkowski 译者:helloworldtang 自动伸缩是每个人 ...

  8. Win32-API: 终于能正常的捕获焦点事件: WM_COMMAND、BN_SETFOCUS、EN_SETFOCUS

    学习和使用win32-api来写窗口程序算算也有二三年了. 以前有个需求,想捕获控件的焦点事件(SETFOCUS. KILLFOCUS),我一直认为应该捕获 WM_SETFOCUS 和 WM_KILL ...

  9. JavaScript(JS)之Javascript对象DOM(三)

    https://www.cnblogs.com/haiyan123/p/7598320.html 一.什么是HTML  DOM HTML  Document Object Model(文档对象模型) ...

  10. io系列之常用流二

    一.对象的序列化.持久化. 将java的对象的基本数据类型和图形存入文件中,实现对象数据的序列化和持久化. 操作对象可以使用: ObjectOutPutStream 和 ObjectInPutStre ...