17SpringMvc_在业务控制方法中写入包装User的模型来收集参数——解决问题

在解决问题之前,我要说明一下jsp页面上填入信息,一个用户的信息比如用户的名字,用户的电话,用户的手机等等,在这个jsp页面上填好信息后,转到有个action处理这个信息。原理是什么?

在jsp页面上有一行代码,form action="${pageContext.request.contextPath}/user/register.action"那么jsp页面提交的时候机会提交到这个action。然后根据这个定位到

public String registerMethod(Bean bean,Model model),这里有一个参数,bean。
bean里面又封装了user类和admin类。所以user和admin才是里面的基础元素。 jsp上面的页面就会根据这个bean的结构,把jsp的内容自动写入到这个bean中。但是切记<input type="text" name="admin.username"
这里的name要和实体类的名字一模一样,这里的admin就是bean里面的一个属性username是admin里面的属性。

-------------------------------------------------------------------------------------------------------------------------------------------------------------

前一篇文章,讲了在业务方法中多个模型收集参数有一个问题,现在这篇文章就来解决一上一篇文章的问题。

User和Admin是两个不同的实体类。我们解决问题的方法是:

如果多个模型中有相同的属性时,可以用user.username或admin.username来收集客户端参数。就是用一个新的模型将User和Admin再封装一次。

给出案例的结构图:

aaarticlea/png;base64,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" alt="" />

上面结构图中用到了Admin.java;Bean.java;UserAction.java;springmvc_008.xml;spring.xml;web.xml;person.xml;

下面给出具体的案例代码:我只给出person.jsp的代码以及UserAction(控制器).java。

person.jsp:注意:<input type="text" name="user.username" value="${user.username }" /></td>

value="${user.username }是为了回显数据,不写也没事。

name的写法都是这么写的。因为bean把uesr和admin又包了一层,相当于user.name和admin.name才是最基础的元素。

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
<hr>
普通用户
<form action="${pageContext.request.contextPath}/user/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="${!empty user.salary?user.salary:'2012'}" /> </td>
</tr>
<tr>
<th>入职时间</th>
<!--
${!empty user.hiredate?user.hiredate:'2015-4-3 12:12:12'}
表示user.hiredate不是为空的话就给他赋user.hiredate的值
如果是空的就给他赋'2015-4-3 12:12:12'这个值。
-->
<td> <input
type="text"
name="user.hiredate" value="${!empty user.hiredate?user.hiredate:'2015-4-3 12:12:12'} "/></td>
</tr> <tr>
<td>
<input type="submit" value="普通用户注册">
</td>
</tr>
</table> </form>
</hr> <hr>
管理员用户
<form action="${pageContext.request.contextPath}/user/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>
<!--
${!empty user.hiredate?user.hiredate:'2015-4-3 12:12:12'}
表示user.hiredate不是为空的话就给他赋user.hiredate的值
如果是空的就给他赋'2015-4-3 12:12:12'这个值。
-->
<td> <input
type="text"
name="admin.hiredate" value="${admin.hiredate }"/></td>
</tr> <tr>
<td>
<input type="submit" value="管理员注册">
</td>
</tr>
</table>
</form>
</hr>
</body>
</html>

UserAction.java的代码:

package com.guigu.shen.Action8;

import java.text.SimpleDateFormat;
import java.util.Date; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.ServletRequestDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
/**
*
*
请求路径可以拆分为:根模块的名字+分模块的名字
就是相当于当访问http://127.0.0.1:8080:项目名/user/register时就会进入到
registerMethod方法。
*/
@Controller
@RequestMapping(value="/user")//根模块的请求名字
public class UserAction {
/*
* 员工注册
*
*/
@RequestMapping(method=RequestMethod.POST,value="/register")//分模块的请求名字
/*
采用模型的方式(User)来收集从页面传来的参数。
方法里面的参数user和以前的参数一样会被用反射的方式去赋值。
bean类把User和Admin又封装了一层。
*/
public String registerMethod(Bean bean,Model model)
{
//打印出user里面的信息
System.out.println("员工的信息是"+bean.getUser());
//打印出Admin的信息
System.out.println("管理员的信息"+bean.getAdmin());
//将user和admin绑定到model对象中去。
model.addAttribute("user", bean.getUser());
model.addAttribute("admin", bean.getAdmin());
//model.addAttribute("bean", bean);
//数据回显到person.jsp页面
return "/person.jsp";
} /**
* 自定义类型转换器
* 就是说当Date类型的数据不能得到时,会自动查找@InitBinder注解过的方法
*
*/
@InitBinder
protected void initBinder(HttpServletRequest request,ServletRequestDataBinder binder) throws Exception {
binder.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd"),true));
} }

bean类代码:

package com.guigu.shen.Action8;

public class Bean {
private User user;
private Admin admin;
/**
* @return the user
*/
public User getUser() {
return user;
}
/**
* @param user the user to set
*/
public void setUser(User user) {
this.user = user;
}
/**
* @return the admin
*/
public Admin getAdmin() {
return admin;
}
/**
* @param admin the admin to set
*/
public void setAdmin(Admin admin) {
this.admin = admin;
} }

结果:测试一切正常。

上一篇:OR1200中指令Cache的结构


下一篇:WebView使用详解