如果表单提交的时候,有的字段是字符串类型,但是后台接收到的时候是其他类型(比如日期类型),我们就可以使用类型转换来把字符串类型转换为需要的类型。当字符串类型和后台的日期类型匹配的时候,也可以不做转换,但是前台的日期格式必须为yyyy/MM/dd。这样spring内部会帮助我们自动做类型转换。
如果我们还是习惯使用yyyy-MM-dd这种格式,那我们就需要配置自己的类型转换器
第一步,声明自定义的类型转换器
/** * 前台字符串转换为日期类型的转换器 */ //Converter<源类型,目标类型> 源类型是指从前台传过来的时候是什么类型 目标类型 我们希望转换成的类型 public class MyDateConverter implements Converter<String, Date> { /** * 需要实现的目标方法 * @param s 前台传递过来的需要转换的数据 * @return */ public Date convert(String s) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = null; try { date = sdf.parse( s); } catch (ParseException e) { e.printStackTrace(); } return date; } }
第二步,在spring mvc 主配置文件中配置类型转换器