SpringMVC自定義日期轉(zhuǎn)換器方式
更新時(shí)間:2024年07月08日 10:51:49 作者:xuebanub1
這篇文章主要介紹了SpringMVC如何自定義日期轉(zhuǎn)換器問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
一、問(wèn)題
問(wèn)題
- 當(dāng)日期傳參格式為2023/5/13時(shí),因?yàn)檫@是Spring默認(rèn)日期格式,所以能解析
- 當(dāng)日期傳參格式為2023-5-13時(shí),因?yàn)檫@不是Spring默認(rèn)日期格式,所以不能解析
解決方案
- 自定義日期格式
二、實(shí)現(xiàn)Converter<S,T>接口
1.該接口位置
org.springframework.core.convert.converter.Converter
2.創(chuàng)建DateConverter實(shí)現(xiàn)類
實(shí)現(xiàn)convert方法
public class DateConverter implements Converter<String,Date> {
@Override
public Date convert(String s) {
//將日期字符串轉(zhuǎn)換為日期對(duì)象返回
//自定義日期格式
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
Date date;
try {
//轉(zhuǎn)換
date = sf.parse(s);
} catch (ParseException e) {
throw new RuntimeException(e);
}
//將日期對(duì)象返回
return date;
}
}三、在Spring-MVC.xml配置文件中聲明轉(zhuǎn)換器
1.設(shè)置id
conversionService
2.設(shè)置class
org.springframework.context.support.ConversionServiceFactoryBean
3.配置converters屬性
<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
<!--配置converters屬性-->
<property name="converters">
<list>
<!--指向DateConverter實(shí)現(xiàn)類-->
<bean class="com.jd.converter.DateConverter"></bean>
</list>
</property>
</bean>四、在mvc注解中引用轉(zhuǎn)換器
<!--mvc的注解驅(qū)動(dòng)--> <mvc:annotation-driven conversion-service="conversionService"/>
conversion-servic的值為第三步設(shè)置的id(即轉(zhuǎn)換器的id)
五、測(cè)試
1.接收日期參數(shù)并打印
@Controller
public class UserController {
@RequestMapping(value = "/quick13")
@ResponseBody
public void save13(Date date){
System.out.println(date);
}
}2.在網(wǎng)頁(yè)輸入url傳參
- 參數(shù):date=2023-5-13
http://localhost:8080/quick13?date=2023-5-13
- 打印結(jié)果
Sat May 13 00:00:00 CST 2023
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot生成PDF的五種實(shí)現(xiàn)方法總結(jié)
這篇文章主要介紹了SpringBoot生成PDF的五種實(shí)現(xiàn)方法,在開(kāi)發(fā)中經(jīng)常會(huì)遇到需要進(jìn)行對(duì)一些數(shù)據(jù)進(jìn)行動(dòng)態(tài)導(dǎo)出PDF文件,然后讓用戶自己選擇是否需要打印出來(lái),這篇文章我們來(lái)介紹五種實(shí)現(xiàn)方法,需要的朋友可以參考下2024-10-10
mybatis-plus添加數(shù)據(jù)時(shí)id自增問(wèn)題及解決
這篇文章主要介紹了mybatis-plus添加數(shù)據(jù)時(shí)id自增問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01
Java8實(shí)戰(zhàn)之Stream的延遲計(jì)算
JDK中Stream的中間函數(shù)如 filter(Predicate super T>)是惰性求值的,filter并非對(duì)流中所有元素調(diào)用傳遞給它的Predicate,下面這篇文章主要給大家介紹了關(guān)于Java8實(shí)戰(zhàn)之Stream延遲計(jì)算的相關(guān)資料,需要的朋友可以參考下2021-09-09
springboot加載配值文件的實(shí)現(xiàn)步驟
本文主要介紹了springboot加載配值文件的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-03-03

