struts2数据封装(九)
来源:互联网 发布:知柏地黄丸 性早熟 编辑:程序博客网 时间:2024/06/06 03:43
分属性和模型两种方式
一、属性驱动有两种方式。
1、直接在Action类中定义相对应的字段,提供set方法。
然后,前端页面,直接传入对应的属性。
比如:
public class Regist1Action extends ActionSupport {private String username;private String password;private Integer age;@Overridepublic String execute() throws Exception {System.out.println(username + " " + password + " " + age);return NONE;}public void setUsername(String username) {this.username = username;}public void setPassword(String password) {this.password = password;}public void setAge(Integer age) {this.age = age;}}
<form action="${ pageContext.request.contextPath }/regist1.action"method="post">姓名:<input type="text" name="username" /><br /> 密码:<input type="password" name="password" /><br /> 年龄:<input type="password" name="age" /><br /> <input type="submit" value="注册" /></form>
2、在Action类中定义java bean,属性封装到java bean中。
然后,前端页面,用ongl表达式。bean.属性。
比如:
public class User {private String username;private String password;private Integer age;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}@Overridepublic String toString() {return "User [username=" + username + ", password=" + password + ", age=" + age + "]";}}
public class Register2Action extends ActionSupport {private User user;public User getUser() {return user;}public void setUser(User user) {this.user = user;}@Overridepublic String execute() throws Exception {System.out.println(user);return NONE;}}
<form action="${ pageContext.request.contextPath }/regist2.action"method="post">姓名:<input type="text" name="user.username" /><br /> 密码:<input type="password" name="user.password" /><br /> 年龄:<input type="password" name="user.age" /><br /> <input type="submit" value="注册" /></form>
二、模型驱动
/** * 模型驱动的方式 * 实现ModelDriven接口 * 必须要手动实例化对象(需要自己new) */public class Regist3Action extends ActionSupport implements ModelDriven<User> {// 必须手动实例化private User user = new User();// 获取模型对象@Overridepublic User getModel() {return user;}@Overridepublic String execute() throws Exception {System.out.println(user);return NONE;}}
<form action="${ pageContext.request.contextPath }/regist3.action"method="post">姓名:<input type="text" name="username" /><br /> 密码:<input type="password" name="password" /><br /> 年龄:<input type="password" name="age" /><br /> <input type="submit" value="注册" /></form>
实际开发中:直接在Action类中定义相对应的字段,提供set方法 和 模型驱动 用的比较多
三、集合List
/** * 属性驱动的方式,把数据封装到List集合中 */public class Regist4Action extends ActionSupport {private static final long serialVersionUID = -7567275964736686269L;private List<User> list;public List<User> getList() {return list;}public void setList(List<User> list) {this.list = list;}@Overridepublic String execute() throws Exception {for (User user : list) {System.out.println(user);}return NONE;}}
<h3>向List集合封装数据(默认情况下,采用的是属性驱动的方式)</h3><!-- 后台:List<User> list --><form action="${ pageContext.request.contextPath }/regist4.action" method="post">姓名:<input type="text" name="list[0].username" /><br /> 密码:<input type="password" name="list[0].password" /><br /> 年龄:<input type="password" name="list[0].age" /><br /> 姓名:<input type="text" name="list[1].username" /><br /> 密码:<input type="password" name="list[1].password" /><br /> 年龄:<input type="password" name="list[1].age" /><br /> <input type="submit" value="注册" /></form>
四、集合Map
/** * 属性驱动的方式,把数据封装到Map集合中 */public class Regist5Action extends ActionSupport {private static final long serialVersionUID = -5650712704292303969L;private Map<String, User> map;public Map<String, User> getMap() {return map;}public void setMap(Map<String, User> map) {this.map = map;}@Overridepublic String execute() throws Exception {System.out.println(map);return NONE;}}
<h3>向Map集合封装数据(默认情况下,采用的是属性驱动的方式)</h3><!-- 后台:List<User> list --><form action="${ pageContext.request.contextPath }/regist5.action" method="post">姓名:<input type="text" name="map['one'].username" /><br /> 密码:<input type="password" name="map['one'].password" /><br /> 年龄:<input type="password" name="map['one'].age" /><br /> 姓名:<input type="text" name="map['two'].username" /><br /> 密码:<input type="password" name="map['two'].password" /><br /> 年龄:<input type="password" name="map['two'].age" /><br /> <input type="submit" value="注册" /></form>
源码地址
阅读全文
0 0
- struts2数据封装(九)
- Struts2(九):数据验证(二)
- Struts2学习总结(九):数据验证
- Struts2学习(二)数据封装机制
- Struts2总结---数据封装机制 (10)
- Struts2封装数据(两种)
- Struts2数据封装
- Struts2数据封装机制
- Struts2数据的封装
- Struts2 数据封装机制
- Struts2 数据封装机制
- Struts2数据封装
- Struts2数据封装
- Struts2之数据封装
- Struts2数据封装
- Struts2数据封装机制
- javascript基础之九(JavaScript数据封装)
- Struts2封装数据的操作
- shell脚本之九九乘法表
- Ubuntu安装后的一些基本使用方法
- powerdvd 17破解版(极致蓝光播放器)附注册机
- C语言实验——打印菱形
- JAVA IO源码学习系列一(ByteArrayOutputStream)
- struts2数据封装(九)
- linux上实现getch()函数
- synchronized 和lock 区别
- 浅谈Mybatis之mybaits常用注解
- Windows下telnet 发送邮件
- 1013. 数素数 (20)
- 求最大公约数
- 1.3输出第二个整数
- 异常处理(三)-------C++异常类