最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring MVC中日期格式轉(zhuǎn)換的兩種實(shí)用方法

 更新時(shí)間:2025年08月06日 09:16:41   作者:小白的代碼日記  
在開發(fā)基于 Spring MVC 的 Web 應(yīng)用時(shí),日期格式的轉(zhuǎn)換是一個(gè)常見的需求,本文將詳細(xì)介紹 Spring MVC 中兩種日期格式轉(zhuǎn)換的方法,包括創(chuàng)建過程和最終的運(yùn)行結(jié)果,需要的朋友可以參考下

引言

在開發(fā)基于 Spring MVC 的 Web 應(yīng)用時(shí),日期格式的轉(zhuǎn)換是一個(gè)常見的需求。用戶在表單中輸入的日期通常是字符串類型,而在 Java 代碼中我們往往需要將其轉(zhuǎn)換為 Date 類型進(jìn)行處理。本文將詳細(xì)介紹 Spring MVC 中兩種日期格式轉(zhuǎn)換的方法,包括創(chuàng)建過程和最終的運(yùn)行結(jié)果。

方法一:使用 @DateTimeFormat 注解

1. 原理

@DateTimeFormat 注解是 Spring 框架提供的一個(gè)便捷注解,用于將字符串類型的日期轉(zhuǎn)換為 Date 類型。它可以直接應(yīng)用在實(shí)體類的日期屬性上,Spring MVC 在接收到請求參數(shù)時(shí)會自動根據(jù)注解中指定的格式進(jìn)行轉(zhuǎn)換。

2. 創(chuàng)建過程

2.1 實(shí)體類添加注解

在 User 類的 birthday 屬性上添加 @DateTimeFormat 注解,指定日期格式。示例代碼如下:

package cn.tx.demo2;
 
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Map;
 
public class User implements Serializable {
    // ... 其他屬性 ...
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date birthday;
    // ... 其他方法 ...
}

2.2 控制器接收參數(shù)

在控制器中,當(dāng)接收到包含日期參數(shù)的請求時(shí),Spring MVC 會自動將字符串日期轉(zhuǎn)換為 Date 類型。示例代碼如下:

package cn.tx.demo2;
 
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
 
@Controller
@RequestMapping("/user")
public class UserController {
    @RequestMapping("/save2.do")
    public String save2(User user) {
        System.out.println("USER:" + user);
        return "suc";
    }
}

 3.運(yùn)行結(jié)果:

使用原來日期格式:

報(bào)錯(cuò):因?yàn)槿掌诟袷礁牧?nbsp;

改成現(xiàn)在的格式:

成功:

方法二:自定義轉(zhuǎn)換器 StringToDate

1. 原理

自定義轉(zhuǎn)換器可以實(shí)現(xiàn)更復(fù)雜的日期格式轉(zhuǎn)換邏輯。通過實(shí)現(xiàn) org.springframework.core.convert.converter.Converter 接口,我們可以自定義字符串到 Date 類型的轉(zhuǎn)換規(guī)則。

2. 創(chuàng)建過程

2.1 創(chuàng)建自定義轉(zhuǎn)換器類

創(chuàng)建一個(gè)實(shí)現(xiàn) Converter<String, Date> 接口的類,實(shí)現(xiàn) convert 方法,用于將字符串類型的日期轉(zhuǎn)換為 Date 類型。示例代碼如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">
 
    <!-- 啟用注解驅(qū)動 -->
    <mvc:annotation-driven/>
 
    <!-- 配置組件掃描 -->
    <context:component-scan base-package="cn.tx.demo1"/>
    <context:component-scan base-package="cn.tx.demo2"/>
 
    <!-- 配置視圖解析器 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/pages/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
 
    <!--配置日期類型轉(zhuǎn)換器,類型轉(zhuǎn)換器的組件,把日期類型轉(zhuǎn)換注入到組件對象中-->
    <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
        <property name="converters">
            <set>
                <bean class="cn.tx.demo2.StringToDate" />
            </set>
        </property>
    </bean>
 
    <!--讓映射器、適配器和處理器生效(默認(rèn)不配置也是可以的)-->
    <mvc:annotation-driven conversion-service="conversionService"/>
</beans>

2.3 控制器接收參數(shù)

在控制器中,同樣可以正常接收包含日期參數(shù)的請求,Spring MVC 會使用自定義的轉(zhuǎn)換器進(jìn)行日期轉(zhuǎn)換。示例代碼如下:

package cn.tx.demo2;
 
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
 
@Controller
@RequestMapping("/user")
public class UserController {
    @RequestMapping("/save3.do")
    public String save3(User user) {
        System.out.println("user:" + user);
        return "suc";
    }
}

  3. 運(yùn)行結(jié)果

當(dāng)用戶提交包含日期參數(shù)的表單時(shí),Spring MVC 會使用自定義的轉(zhuǎn)換器將字符串日期按照指定的格式轉(zhuǎn)換為 Date 類型,并賦值給 User 對象的 birthday 屬性。在控制器中可以直接使用該 Date 對象進(jìn)行后續(xù)處理。

總結(jié)

  • @DateTimeFormat 注解適用于簡單的日期格式轉(zhuǎn)換,使用方便,只需要在實(shí)體類屬性上添加注解即可。
  • 自定義轉(zhuǎn)換器適用于需要更復(fù)雜轉(zhuǎn)換邏輯的場景,可以根據(jù)實(shí)際需求自定義轉(zhuǎn)換規(guī)則。

通過以上兩種方法,我們可以在 Spring MVC 中輕松實(shí)現(xiàn)日期格式的轉(zhuǎn)換,提高開發(fā)效率。希望本文對你有所幫助!

以上就是Spring MVC中日期格式轉(zhuǎn)換的兩種實(shí)用方法的詳細(xì)內(nèi)容,更多關(guān)于Spring MVC日期格式轉(zhuǎn)換的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • javaWeb實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)

    javaWeb實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了javaWeb實(shí)現(xiàn)學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 線上Java?OOM問題定位與解決方案超詳細(xì)解析

    線上Java?OOM問題定位與解決方案超詳細(xì)解析

    OOM是JVM拋出的錯(cuò)誤,表示內(nèi)存分配失敗,這篇文章主要介紹了線上Java?OOM問題定位與解決方案的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-09-09
  • 基于Maven的pom.xml文件詳解

    基于Maven的pom.xml文件詳解

    下面小編就為大家?guī)硪黄贛aven的pom.xml文件詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • JDK 1.8 安裝配置教程(win7 64bit )

    JDK 1.8 安裝配置教程(win7 64bit )

    這篇文章主要為大家詳細(xì)介紹了win7 64bit下JDK 1.8 安裝配置教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • 解決idea npm:無法將“npm”項(xiàng)識別為cmdlet、函數(shù)、腳本文件或可運(yùn)行程序的名稱問題

    解決idea npm:無法將“npm”項(xiàng)識別為cmdlet、函數(shù)、腳本文件或可運(yùn)行程序的名稱問題

    在IDEA中運(yùn)行npm命令時(shí)出現(xiàn)無法識別的錯(cuò)誤,通常是由于npm環(huán)境變量配置不正確引起,解決方法包括以管理員身份運(yùn)行IDEA,確認(rèn)node和npm是否正確安裝及配置環(huán)境變量,需要在系統(tǒng)環(huán)境變量中添加node.js的安裝路徑,并設(shè)置npm的全局模塊和緩存路徑
    2024-10-10
  • Java數(shù)據(jù)結(jié)構(gòu)之List的使用總結(jié)

    Java數(shù)據(jù)結(jié)構(gòu)之List的使用總結(jié)

    List是Java中比較常用的集合類,指一系列存儲數(shù)據(jù)的接口和類,可以解決復(fù)雜的數(shù)據(jù)存儲問題,本文就來拿實(shí)際案例總結(jié)介紹一下List的使用方法,感興趣的朋友快來看看吧
    2021-11-11
  • 淺談Java后臺對JSON格式的處理操作

    淺談Java后臺對JSON格式的處理操作

    下面小編就為大家?guī)硪黄獪\談Java后臺對JSON格式的處理操作。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-06-06
  • 全面了解java中的異常處理

    全面了解java中的異常處理

    java中的異常處理是java語言中的一大重要特性,它分離了接收和處理錯(cuò)誤代碼。這篇文章非常詳細(xì)的講解了java中的這一特性,感興趣的小伙伴一起來學(xué)習(xí)學(xué)習(xí)吧
    2021-08-08
  • 詳解如何保護(hù)SpringBoot配置文件中的敏感信息

    詳解如何保護(hù)SpringBoot配置文件中的敏感信息

    使用過SpringBoot配置文件的朋友都知道,資源文件中的內(nèi)容通常情況下是明文顯示,安全性就比較低一些,所以為了提高安全性,就需要對配置文件中的敏感信息進(jìn)行保護(hù),下面就為大家介紹一下實(shí)現(xiàn)方法吧
    2023-07-07
  • Eclipse安裝Aptana插件(注意對應(yīng)版本問題)

    Eclipse安裝Aptana插件(注意對應(yīng)版本問題)

    這篇文章主要為大家詳細(xì)介紹了Eclipse安裝Aptana插件的相關(guān)資料,特別注意對應(yīng)版本問題,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02

最新評論

互助| 曲周县| 永福县| 唐山市| 凌海市| 湖口县| 新民市| 儋州市| 长宁区| 安阳市| 宁德市| 大余县| 淮滨县| 肇东市| 南投县| 乐亭县| 绍兴市| 弥勒县| 台前县| 吐鲁番市| 桦川县| 梁山县| 长治市| 金乡县| 交城县| 洛宁县| 吉林市| 三门县| 宁国市| 邯郸市| 文昌市| 宁安市| 巴楚县| 浦北县| 长顺县| 洛浦县| 丹阳市| 永州市| 溧阳市| 广昌县| 翁牛特旗|