微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SSM4.3【Spring:SpringMVC获取请求数据[续]】

自定义类型转换器

 

 

 

 

 

 

 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] 举报,一经查实,本站将立刻删除。

相关推荐