码迷,mamicode.com
首页 > 其他好文 > 详细

Struts 获取表单数据总结

时间:2017-11-11 23:45:46      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:实体类   ext   isp   return   style   tco   模型   参数   username   

第一种:定义属性值,通过Setters方法获取
  
技术分享
 1 /**
 2  * 属性驱动:没有实体
 3  *     要求:成员变量必须要有set方法,set后面的名称必须和表单中参数的属性名称一致(首字母大写)
 4  *     执行过程:通过成员变量的set方法将参数进行封装
 5  *     参数的封装是通过params拦截器完成的
 6  * @author Administrator
 7  *
 8  */
 9 public class Param1Action extends ActionSupport{
10     private String username;
11     private int age;
12     
13 
14     public void setUsername(String username) {
15         this.username = username;
16     }
17 
18 
19     public void setAge(int age) {
20         this.age = age;
21     }
22 
23 
24     public String param1(){
25         System.out.println(username+"..."+age);
26         return SUCCESS;
27     }
28 }
属性驱动没有对象

 

第二种:从ServletActionContext中获取request对象,再从request对象中获取参数
 
技术分享
1 public class Demo2Action extends ActionSupport {
2     public String demo2(){
3         //获取application
4         ServletContext context = ServletActionContext.getServletContext();
5         return SUCCESS;
6     }
7 }
静态调用
 
第三种:可以在action里面定义一个user对象,然后写上对应的Setters和Getters方法获取
 
技术分享
 1 /**
 2  * 属性驱动:有实体类
 3  * 要求:
 4  *     1、表单需要以对象.属性的方式提交数据
 5  *     2、action中的实体类必须有get和set方法
 6  * 执行过程:
 7  *         通过实体类的get方法获取user对象,判断user是否为null
 8  *             如果为null:
 9  *                 初始化一个user对象,通过user的set方法,将user对象传递到action。
10  *                 然后通过user对象中属性的set方法将age参数传递并封装
11  *                 然后再次通过user的get方法获取封装了参数的user对象,然后再通过user中属性的set方法对username进行参数的封装。
12  *             如果不为null:
13  *                 就直接通过user对象中age的set方法将数据进行封装
14  *                 然后再次通过user的get方法获取封装了age的user对象,再通过该user对象中username的set方法将参数进行封装和传递。
15  *     注意:表单必须以对象.属性的方式提交数据。
16  * @author Administrator
17  *
18  */
19 public class Param2Action extends ActionSupport {
20     private User user = new User();
21 
22     public User getUser() {
23         return user;
24     }
25 
26     public void setUser(User user) {
27         this.user = user;
28     }
29     public String param2(){
30         System.out.println(user);
31         return SUCCESS;
32     }
33 }
属性驱动有对象
 
第四种:通过实现ModelDriven接口获取获取(推荐)
 
技术分享
 1 /**
 2  * 模型驱动:
 3  *  1、选哟实现ModelDriven接口 
 4  *  2、需要初始化对象 
 5  *  3、需要复写接口方法
 6  * 
 7  * 最终还是通过params拦截器实现数据封装,不过之前还需要modelDriven拦截器的支持。
 8  * @author Administrator
 9  *
10  */
11 public class Param3Action extends ActionSupport implements ModelDriven<User> {
12 
13     private User user = new User();
14     @Override
15     public User getModel() {
16         return user;
17     }
18 
19     public String param3() {
20         System.out.println(user);
21         return SUCCESS;
22     }
23 
24 }
模型驱动获取值

 

Struts 获取表单数据总结

标签:实体类   ext   isp   return   style   tco   模型   参数   username   

原文地址:http://www.cnblogs.com/RedHat-Linux/p/7820238.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!