Springmvc中,在业务控制方法中写入包装类收集参数

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";
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值