1. 程式人生 > >SpringMvc對時間型別的轉換

SpringMvc對時間型別的轉換

問題:接觸過web的都知道,前端的form表單傳給後臺的資料型別都是字串,如果空著則為空字串'',而不是null,那麼問    題來了,當後臺的欄位型別是java.lang.Date型別的資料的時候,我們應該如何對他進行轉換型別,SpringMvc能對簡單 型別的資料進行自動型別轉換,但顯然這並不包括java.lang.Date型別。還有一個問題便是:如何把java.lang.Date型別   的資料在前端頁面根據自己想要的格式進行格式化顯示。

解決方法:

    1.型別轉換:

        

        如上圖所示,我這裡用的是java.lang.Date型別的資料,在想要轉換型別的欄位加上註解

        @DateTimeFormat(pattern="想轉換成的格式"),還需要注意的是,想要這個註解生效的話,還需要引入一個           

         joda-time-    2.1.jar  的jar包 (可以上百度搜,在網上下載這個jar包)。這時只要前端傳回的資料格式和你定義的格式              一 樣的話,那麼會自動進行型別轉換。

        2.前端格式化顯示時間型別的資料

       這裡給出兩種顯示方式。注意需要在前端頁面引入<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"  %>

            一種是隻需要顯示資料,而不需要對資料進行修改的顯示方式:

            <fmt:formatDate value="${b.pressDate}" type="date" pattern="yyyy/MM/dd"/>

            其中${b.pressDate}是EL表示式,具體的資料根據自己的專案進行修改。

            pattern則是對資料進行的格式進行定義,根據需要進行修改。

            type則不需要進行修改,同這裡一樣即可。

            另一種是把資料顯示在一個input標籤中,可以對資料進行修改的:

            <input type="text" name="lowPressDate" size="20" placeholder="區間查詢(注意格式)" value="<fmt:formatDate value='${query.lowPressDate }' type='date' pattern='yyyy/MM/dd'/>"/>

            這裡需要提一下就是name屬性,這個是用來傳輸資料,具體可以百度SpringMvc form表單傳輸資料。

            這篇文章均是本人自己碼出來的,如有雷同,純屬巧合。