SpringMVC 處理Date型別@DateTimeFormat @InitBinder
第一種:
- 在Date型別的屬性上加入@DateTimeFormat註解
- 加入joda相關的包
- 在SpringMVC配置檔案中加入
<mvc:annotation-driver/>
首先在相對應的屬性上加註解:
public class Person{
//直接在date型別上加入註解,同時指定格式樣式
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date birthday;
}
具體流程:
加入joda的jar包。因為在@DateTimeFormat註解中使用到了joda包中的相關東西,所以缺少這個包也是會報異常的。這裡使用maven依賴。
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.9.7</version>
</dependency>
第二需要在SpringMVC配置XML檔案中加入配置:<mvc:annotaton-driver/>
。這一句配置是一種簡寫,其實是給Spring注入了兩個bean,分別是:DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter註解的內部同樣需要使用到前面注入的兩個bean去處理,所以缺少這個配置,Spring容器中沒有對應的bean去處理註解同樣也會報錯。進入測試:
<form action="test" method="post">
<input type="text" name="name"/>
<input type="text" name="birthday"/>
<input type="submit" name="提交"/>
</form>
用一個Controller接收:
@RequestMapping("/test")
public ModelAndView test(HttpServletRequest request,@ModelAttribute Person person){
ModelAndView view = new ModelAndView();
System.out.println(person.toString());
view.setViewName("/test/data");
return view;
}
結束。
第二種:
使用 解決
- 第一步:
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
- 第二步
<fmt:formatDate value="轉換物件" type="轉換格式"/>
type可以指定具體型別,如下:
1.<fmt:formatDate value="${date}" type="both"/>
輸出格式: 2010-5-31 23:59:59
舉例:
<td><fmt:formatDate value="${book.bookPublicationDate }" type="date"/></td>
可以和其他標籤結合使用
<input type="text" name="bookPublicationDate" value="<fmt:formatDate value="${list.bookPublicationDate }" type="date"/>">
在value裡直接使用<fmt:formatDate/>
格式化鎖取到的值
[email protected]
所在的Controller裡面,加上使用@InitBinder宣告的方法
在DataBinder先進行日期處理
@InitBinder
public void initBinder(WebDataBinder binder) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
}
<fmt:formatDate value="" type=""/>中type的其他型別
2.<fmt:formatDate value="${date}" type="date"/>
輸出格式: 2010-4-1
3.<fmt:formatDate value="${date}" type="time"/>
輸出格式: 23:59:59
4.<fmt:formatDate value="${date}" type="date" dateStyle="default"/>
輸出格式:2010-5-31
5.<fmt:formatDate value="${date}" type="date" dateStyle="short"/>
輸出格式:04-5-31
6.<fmt:formatDate value="${date}" type="date" dateStyle="medium"/>
輸出格式:2010-5-31
7.<fmt:formatDate value="${date}" type="date" dateStyle="long"/>
輸出格式: 2010年5月31日
8.<fmt:formatDate value="${date}" type="date" dateStyle="full"/>
輸出格式:2010年5月31日 星期一
9.<fmt:formatDate value="${date}" type="time" timeStyle="default"/>
輸出格式: 23:59:59
10.<fmt:formatDate value="${date}" type="time" timeStyle="short"/>
輸出格式:下午11:59
11.<fmt:formatDate value="${date}" type="time" timeStyle="medium"/>
輸出格式: 23:59:59
12.<fmt:formatDate value="${date}" type="time" timeStyle="long"/>
輸出格式: 下午11時59分59秒
13.<fmt:formatDate value="${date}" type="time" timeStyle="full"/>
輸出格式: 下午11時59分59秒 CDT
14.<fmt:formatDate value="${date}" type="both" pattern="EEEE, MMMM d, yyyy 輸出格式: HH:mm:ss Z"/>
星期四, 四月 1, 2010 13:30:00 -0600
15.<fmt:formatDate value="${date}" type="both" pattern="d MMM yy, h:m:s a zzzz/>
輸出格式: 31 五月 04, 11:59:59 下午 中央夏令時
相關推薦
SpringMVC 處理Date型別@DateTimeFormat @InitBinder
第一種: 在Date型別的屬性上加入@DateTimeFormat註解 加入joda相關的包 在SpringMVC配置檔案中加入<mvc:annotation-driver/> 首先在
使用MappingJackson2HttpMessageConverter中,預設的日期返回json處理date型別
在做一個後臺管理專案的時候,使用MappingJackson2HttpMessageConverter把返回的資料全部以json格式傳送回去,但是當資料庫中的資料型別為 datetime 時,java資料是java.util.Date 時,返回的日期總是被轉成了數字。這裡記錄
關於springMVC 接收date 型別為空時候的異常解決辦法
當我們再試用springMVC搭建後臺框架的時候,如果再使用實體類接收引數的時候,難免會碰到時間型別的資料。今天在做專案的時候碰到springMVC 實體bean中存在著Date 型別的引數在前端傳遞引數中會存在Date型別的資料,當我們在做條件查詢的會後難免 會出現Dat
springmvc接收date型別引數
springmvc在表單提交接收date型別引數的時候會報錯:Cannot convert value of type [java.lang.String] to required type [java.util.Date] for property 'actionDate' 一、利用spring的DateT
SpringMVC處理Date成員物件報400 Bad Request解決辦法
在使用SpringMVC的時候,我們可能需要將一個物件從View傳遞給Controller。而當這個Object只是一些簡單的String,int或者boolean型別的成員變數時,SpringMVC能自動將View層的JSON包含的String型別轉換為Object成員變
SpringMVC對映Date型別
原文作者:aircraft 原文連結:https://www.cnblogs.com/DOMLX/p/9661012.html 先講Linux下(windows下在後面可以直接跳到後面看): 一.執行緒基本概念 前面我們講過多程序伺服器,但我們知道它開銷很大,因此我們才引入執
javaEE Springmvc,Converter型別轉換器,對請求引數自動進行型別轉換/處理(轉成Date日期型別)
src/springmvc.xml(Springmvc核心配置檔案,配置型別轉換器,為介面卡指定轉換器): <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.spring
springmvc/springboot處理前臺字串日期自動轉換成後臺date型別的三種辦法
問題還原:當前臺提交日期格式資料到後臺儲存時,已辦以字串的形式傳輸,如果後臺是data型別接受的話會報400格式錯誤。這時候就需要處理一下: 第0種(最low的方式):後臺用String型別欄位接收,如果需要使用再換成date。 第1種:使用@DateTimeFormat
springmvc使用實體類接收表單提交資料中含有String型別對應Date型別的不匹配報錯400時如何處理
springmvc使用實體類接收表單提交資料中含有String型別對應Date型別的不匹配情況,頁面提交表單報錯400,時如何處理? 參看部落格:http://blog.csdn.net/u014079773/article/details/51865178 我
springMVC的Date類處理方法
abi 日期 date strong span div pin rcu bin SpringMVC封裝日期 SpingMVC可以自動的封裝格式為:2017/5/16這樣的日期. SpringMVC可以自定義日期轉化格式2017-5-17 1 @InitBinder 2
Spring Boot @ResponseBody 轉換 JSON資料時Date 型別處理方法
引用處: https://blog.csdn.net/molashaonian/article/details/53025118 https://blog.csdn.net/henianyou/article/details/81945409 解析JSON的方式:
使用js處理後臺返回的Date型別的資料
從後臺返回的日期型別的資料,如果直接在前端進行顯示的話,顯示的就是一個從 1970-01-01 00:00:00到現在所經過的毫秒數,而在大多數業務中都不可能顯示這個毫秒數,大多數都是顯示一個正常的日期格式,所以在這裡,我們使用js對於從後臺返回的Date型別的資料進行處理. 方法一、 co
springboot前端傳參date型別後臺處理方式
今天真的心累,後臺要接收date型別引數,用postman測了好久也收不到,我參考了以下部落格 https://www.jianshu.com/p/ebe9087b9078 1、針對json格式:在配置檔案中加以下配置 spring.jackson.date-format=yyyy-
SpringMVC處理引數中的列舉型別通用實現
業務場景:前端提交了列舉的一個屬性value,想由spring來完成引數型別自動轉換成對應的列舉。 比方有一個列舉 @AllArgsConstructor(access = AccessLevel.PRIVATE) @Getter @JsonFormat(shape = JsonFormat.Sh
springMVC自定義型別轉換器(date型別轉換)
//日期的月份不能寫成小寫mm,因為在日期中還有分鐘mm,這兩者不能相同。 1.建立一個類實現Convert介面,實現convert方法 public date convert(String source){ if(source!=null&&!source.equals(""){
bootspring + mybaits +mysql Date 型別的處理
mysql 中有date 型別的屬性,java實體類中對應的屬性是java.sql.Date 類的。 最初的bug是怎麼新增,joinDate 值都是null。 千辛萬苦學會了用String轉Date的兩種方式: 1. @DateTimeFormat(pattern = "yyyy-MM-dd")標籤
java中的日期轉換、springmvc接收前臺的Date型別引數遇到的坑
關於springmvc接收前臺傳的時間型別引數 前臺jsp用的一個日期外掛,後臺獲取一直有問題。 被這個問題搞了好久,其實很簡單。記錄下來,希望可以幫到遇到同樣問題的同學。 我專案使用的ssm框架, 在做web開發的時候,頁面傳入的都是String型別,SpringMVC可以對一些基本的型別
解決springMVC前臺傳Date型別到後臺報400錯誤問題
springMVC前臺傳Date型別到後臺報400錯誤,我們可以在實體類為Date型別的欄位上面加上: @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
mybatis批量插入oracle日期date型別的處理
oracle中儲存了date型別的欄位,需要使用Mybatis進行批量的插入 <insert id="saveBatch" parameterType="java.util.List" useG
spring boot或springmvc返回時把date型別的欄位轉成字串
我們都知道spring boot或者springmvc可以藉助自帶的jackson直接把實體物件裝成json,這次不是分享關於框架如何返回json,而是要給大家分享實體類裡的date型別的欄位在返回時怎麼統一處理成統一返回成string型別 1 使用註解類讓其繼承JsonS