User.java中
/**
* 普通用户
* @author AdminTC
*/
public class User {
private String username;
private Double salary;
private Date hiredate;
public User(){}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Double getSalary() {
return salary;
}
public void setSalary(Double salary) {
this.salary = salary;
}
public Date getHiredate() {
return hiredate;
}
public void setHiredate(Date hiredate) {
this.hiredate = hiredate;
}
@Override
public String toString() {
return this.username+":"+this.salary+":"+this.hiredate.toLocaleString();
}
}
Admin.java中
/**
* 管理员
* @author AdminTC
*/
public class Admin {
private String username;
private Double salary;
private Date hiredate;
public Admin(){}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Double getSalary() {
return salary;
}
public void setSalary(Double salary) {
this.salary = salary;
}
public Date getHiredate() {
return hiredate;
}
public void setHiredate(Date hiredate) {
this.hiredate = hiredate;
}
@Override
public String toString() {
return this.username+":"+this.salary+":"+this.hiredate.toLocaleString();
}
}
Bean.java中
/**
* 封装User和Admin的对象
* @author AdminTC
*/
public class Bean {
private User user;
private Admin admin;
public Bean(){}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public Admin getAdmin() {
return admin;
}
public void setAdmin(Admin admin) {
this.admin = admin;
}
}
person.jsp中
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
普通用户
<form action="${pageContext.request.contextPath}/person/register.action" method="POST">
<table border="2" align="center">
<tr>
<th>姓名</th>
<td><input type="text" name="user.username" value="${user.username}"/></td>
</tr>
<tr>
<th>月薪</th>
<td><input type="text" name="user.salary" value="${user.salary}"></td>
</tr>
<tr>
<th>入职时间</th>
<td><input
type="text"
name="user.hiredate"
value='<fmt:formatDate value="${user.hiredate}" type="date" dateStyle="default"/>'/></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="普通用户注册" style="width:111px"/>
</td>
</tr>
</table>
</form>
<hr/>
管理员
<form action="${pageContext.request.contextPath}/person/register.action" method="POST">
<table border="2" align="center">
<tr>
<th>姓名</th>
<td><input type="text" name="admin.username" value="${admin.username}"/></td>
</tr>
<tr>
<th>月薪</th>
<td><input type="text" name="admin.salary" value="${admin.salary}"/></td>
</tr>
<tr>
<th>入职时间</th>
<td><input type="text" name="admin.hiredate" value='<fmt:formatDate value="${admin.hiredate}" type="date" dateStyle="default"/>'/></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="管理员注册" style="width:111px"/>
</td>
</tr>
</table>
</form>
</body>
</html>
PersonAction.java
/**
* 控制器
* @author AdminTC
*/
@Controller
@RequestMapping(value="/person")
public class PersonAction {
@InitBinder
public void initBinder(HttpServletRequest request,ServletRequestDataBinder binder) throws Exception {
binder.registerCustomEditor(
Date.class,
new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd"),true));
}
/**
* 业务方法
*/
@RequestMapping(value="/register")
public String registerMethod(Bean bean,Model model) throws Exception{
System.out.println("普通用户:" + bean.getUser());
System.out.println("管理员:" + bean.getAdmin());
//将user和admin都绑定到Model
model.addAttribute("user",bean.getUser());
model.addAttribute("admin",bean.getAdmin());
//转发
return "/02_person.jsp";
}
}