Struts2框架是一个web框架 ,并提供了数据分装功能
数据封装方式 属性驱动封装
属性驱动封装之提供set方法 (不常用)
我们以示例来讲解:
先来一个简单的用户表单提交页面
重点jsp代码:
<form action="${pageContext.request.contextPath}/userAction.action" method="post">
name: <input type="text" name="name"><br>
password: <input type="password" name="password"><br>
age: <input type="text" name="age"><br>
birthday:<input type="text" name="birthday"><br>
salary:<input type="text" name="salary"><br>
<input type="submit" value="提交">
</form>
编写Action 主要代码
//我们使用第二种方式 继承
public Class UserAction extends ActionSupport {
private String username;
private String password;
private Integer age;
private Date birthday;
private Double salary;
//它们的set方法
....
public String execute() throws Exception{
//封装数据
User user = new User();// 数据库User表和User类需要建立--不是本次重点 可看hbt
user.setUsername(username);
user.setPassword(password);
user.setAge(age);
user.setBirthday(birthday);
user.Salary(salary);
return NONE;
属性驱动之页面中提交表达的方式
重点jsp代码
<form action="${pageContext.request.contextPath}/userAction.action" method="post">
name: <input type="text" name="user.name"><br>
password: <input type="password" name="user.password"><br>
age: <input type="text" name="user.age"><br>
birthday:<input type="text" name="user.birthday"><br>
salary:<input type="text" name="user.salary"><br>
<input type="submit" value="提交">
</form>
Action 重点代码
public class UserAction extends ActionSupport{
private User user;//1. 提供一个user对象
//2.提供set和get方法 拦截器会创建这个对象并封装入你的中,所以必须给出set方法
...
模型驱动(最常用)
重点jsp
<form action="${pageContext.request.contextPath}/userAction.action" method="post">
name: <input type="text" name="name"><br>
password: <input type="password" name="password"><br>
age: <input type="text" name="age"><br>
birthday:<input type="text" name="birthday"><br>
salary:<input type="text" name="salary"><br>
<input type="submit" value="提交">
</form>
编写Action
public class UserAction extends ActionSuppert implements ModelDriven<User>{
//手动创建对象
private User user = new User();
//2.提供getModel方法
public User getModel(){
return user;
}
//上面已经自动封装好了
}
缺点:只能同时封装一个对象
但是第二种可以封装多个对象(补充)