1.创建一个User对象,生成setter,getter和toString方法
package cn.itcast.domain;
import java.io.Serializable;
import java.util.Date;
public class User implements Serializable {
private String uname;
private Integer age;
private Date date;
//省略
}
2.重新写表单
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<form action="param/saveUser" method="post">
用户姓名:<input type="text" name="uname"/><br/>
用户年龄:<input type="text" name="age"/><br/>
用户生日:<input type="text" name="date"/><br/>
<input type="submit" value="提交"/>
</form>
</body>
</html>
3.在ParamController类中加上saveUser方法
package cn.itcast.controller;
import cn.itcast.domain.Account;
import cn.itcast.domain.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* 请求参数绑定
*/
@Controller
@RequestMapping("/param")
public class ParamController {
/**
* 自定义类型转换器
* @param user
* @return
*/
@RequestMapping("/saveUser")
public String saveUser(User user){
System.out.println("执行了...");
System.out.println(user);
return "success";
}
}
4.重新部署项目
输入XXXX/XX/XX这样的日期格式,可以执行成功
但是输入XXXX-XX-XX就会执行失败
如果想要XXXX-XX-XX的格式也能被转换成功的话,就需要自定义数据类型转换器
5.1编写一个类,实现Converter接口
package cn.itcast.utils;
import org.springframework.core.convert.converter.Converter;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class StringToDateConverter implements Converter<String, Date> {
/**
*
* @param s 传进来的字符串
* @return
*/
@Override
public Date convert(String s) {
//判断
if (s==null){
throw new RuntimeException("请您传入数据");
}
DateFormat df=new SimpleDateFormat("yyyy-MM-dd");
try {
//把字符串转换日期
return df.parse(s);
} catch (ParseException e) {
throw new RuntimeException("数据类型转换错误");
}
}
}
5.2在spring的配置文件中加上下面的代码
<!--配置自定义类型转换器-->
<bean id="conversionServiceFactoryBean" class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<set>
<bean class="cn.itcast.utils.StringToDateConverter"></bean>
</set>
</property>
</bean>
<!--开启SpringMVC框架注解的支持-->
<mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>
5.3重新部署,成功