自定义类型转换器
1 package com.haifei.converter; 2 3 import org.springframework.core.convert.converter.Converter; 4 5 import java.text.ParseException; 6 import java.text.SimpleDateFormat; 7 import java.util.Date; 8 9 /** 10 * 自定义日期类型转换器 11 */ 12 public class DateConverter implements Converter<String, Date> { //String转为指定的Date类型表示形式 13 @Override 14 public Date convert(String dateStr) { 15 //将日期字符串转换为日期对象并返回 16 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); //此处指定类型 17 Date date = null; 18 try { 19 date = sdf.parse(dateStr); 20 } catch (ParseException e) { 21 e.printstacktrace(); 22 } 23 return date; 24 } 25 }
1 spring-mvc.xml 2 3 4 <!--声明类型转换器--> 5 <!--这里配置完,需要在mvc的注解驱动里再配置一下--> 6 <bean id="myConversionService" class="org.springframework.context.support.ConversionServicefactorybean"> 7 <property name="converters"> 8 <list> 9 <!--自定义的日期类型转换器--> 10 <bean class="com.haifei.converter.DateConverter"></bean> 11 </list> 12 </property> 13 </bean> 14 15 <!--配置mvc的注解驱动--> 16 <mvc:annotation-driven conversion-service="myConversionService"/>
1 /** 2 * 自定义类型转换器-解决日期表示形式不一致问题 3 */ 4 @RequestMapping("/save18") 5 @ResponseBody 6 public void save18(Date date){ 7 System.out.println(date); 8 /* 9 1、编写DateConverter类和配置之前: 10 (1) 11 访问:http://localhost:8080/ssm4/user/save18?date=2021/07/17 12 控制台:Sat Jul 17 00:00:00 CST 2021 13 (2) 14 访问:http://localhost:8080/ssm4/user/save18?date=2021-07-17 15 页面:HTTP Status 400 - 16 控制台:java.lang.IllegalArgumentException 17 Failed to convert value of type 'java.lang.String' to required type 'java.util.Date' 18 19 2、编写DateConverter类和配置之后: 20 (1) 21 访问:http://localhost:8080/ssm4/user/save18?date=2021/07/17 22 控制台:java.text.ParseException: Unparseable date: "2021/07/17" 23 null 24 (2) 25 访问:http://localhost:8080/ssm4/user/save18?date=2021-07-17 26 控制台:Sat Jul 17 00:00:00 CST 2021 27 */ 28 }
获取Servlet相关API
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。