SpringMVC對日期型別的轉換
轉自:https://www.cnblogs.com/lcngu/p/5785805.html
在做web開發的時候,頁面傳入的都是String型別,SpringMVC可以對一些基本的型別進行轉換,但是對於日期類的轉換可能就需要我們配置。
1、如果查詢類使我們自己寫,那麼在屬性前面加上@DateTimeFormat(pattern = "yyyy-MM-dd") ,即可將String轉換為Date型別,如下
@DateTimeFormat(pattern = "yyyy-MM-dd") private Date createTime;
2、如果我們只負責web層的開發,就需要在controller中加入資料繫結:
1 @InitBinder 2 public void initBinder(WebDataBinder binder) { 3 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); 4 dateFormat.setLenient(false); 5 binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true)); //true:允許輸入空值,false:不能為空值
3、可以在系統中加入一個全域性型別轉換器
實現轉換器
1 public class DateConverter implements Converter<String, Date> { 2 @Override 3 public Date convert(String source) { 4 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); 5 dateFormat.setLenient(false); 6 try { 7 return dateFormat.parse(source);8 } catch (ParseException e) { 9 e.printStackTrace(); 10 } 11 return null; 12 }
進行配置:
<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"> <property name="converters"> <list> <bean class="com.doje.XXX.web.DateConverter" /> </list> </property> </bean>
<mvc:annotation-driven conversion-service="conversionService" />
4、如果將日期型別轉換為String在頁面上顯示,需要配合一些前端的技巧進行處理。
5、SpringMVC使用@ResponseBody返回json時,日期格式預設顯示為時間戳。
1 @Component("customObjectMapper") 2 public class CustomObjectMapper extends ObjectMapper { 3 4 public CustomObjectMapper() { 5 CustomSerializerFactory factory = new CustomSerializerFactory(); 6 factory.addGenericMapping(Date.class, new JsonSerializer<Date>() { 7 @Override 8 public void serialize(Date value, JsonGenerator jsonGenerator, 9 SerializerProvider provider) throws IOException, JsonProcessingException { 10 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 11 jsonGenerator.writeString(sdf.format(value)); 12 } 13 }); 14 this.setSerializerFactory(factory); 15 } 16 }
配置如下:
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="objectMapper" ref="customObjectMapper"></property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
6、date型別轉換為json字串時,返回的是long time值,如果需要返回指定的日期的型別的get方法上寫上@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") ,即可將json返回的物件為指定的型別。
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") public Date getCreateTime() { return this.createTime; }
相關推薦
SpringMVC對日期型別的轉換
轉自:https://www.cnblogs.com/lcngu/p/5785805.html在做web開發的時候,頁面傳入的都是String型別,SpringMVC可以對一些基本的型別進行轉換,但是對於日期類的轉換可能就需要我們配置。 1、如果查詢類使我們自己寫,那麼在屬
javaEE Springmvc,Converter型別轉換器,對請求引數自動進行型別轉換/處理(轉成Date日期型別)
src/springmvc.xml(Springmvc核心配置檔案,配置型別轉換器,為介面卡指定轉換器): <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.spring
SpringMvc對時間型別的轉換
問題:接觸過web的都知道,前端的form表單傳給後臺的資料型別都是字串,如果空著則為空字串'',而不是null,那麼問 題來了,當後臺的欄位型別是java.lang.Date型別的資料的時候,我們應該如何對他進行轉換型別,SpringMvc能對簡單 型別的資料進行自動
springMVC自定義型別轉換器(date型別轉換)
//日期的月份不能寫成小寫mm,因為在日期中還有分鐘mm,這兩者不能相同。 1.建立一個類實現Convert介面,實現convert方法 public date convert(String source){ if(source!=null&&!source.equals(""){
SpringMVC對列舉型別輸入輸出及Mybatis對列舉型別的儲存查詢
文章目錄 摘要 準備環境 Spring MVC接收列舉型別 Spring MVC輸出列舉型別 MyBatis儲存查詢列舉型別 測試 摘要 本文使用SpringBoot.2.0.1.RELEA
SpringMVC的引數型別轉換
package com.controller; import java.util.Date; import java.util.List; import java.util.Map; import org.springframework.format.ann
Springmvc提交日期型別引數
背景介紹 在springmvc框架中,前臺傳入到後臺的form會經過springmvc自動封裝到pojo類中,後臺接受的時候可以在引數內直接接受這個java類。 傳參 通常情況下,前臺的表單的型別諸如int,string等,都會根據pojo中欄位
用於查詢的日期型別轉換幫助類
一、前言 最近工作比較忙,與此同時自己也在業餘時間開發一個電子商務網站。雖然每天都很累,但感覺過的相當充實。由於時間緊張,最近沒有經常來園子,只是有人留言的時候過來回復下。今天過來刷刷存在感。 二、應用場景舉例 1.按指定日期查詢 (1)使用者在UI上選擇日期; (2)系統計算出今天的起始時間(
js的Date物件,js對日期的轉換,獲取當前的時間
<script type="text/javascript"> /* 日期物件(Date) */var date = new Date(); //獲取到當前的系統時間document.write("年:"+ date.getFullYear()+"<br/
Java 讀取Excel表格資料日期型別轉換
Java 讀取Excel表格日期型別資料的時候,讀出來的是這樣的 13-十二月-2017,而Excel中輸入的是 2017/12/13 或 2017-12-13 還有Excel中輸入的是整型 5,java 讀取出來的是5.0 這可怎麼整? 解決方法: 日期轉換 impor
spring-boot 介面請求之Date、LocalDate、LocalDateTime日期型別轉換處理
搭建完一個spring-boot的介面服務後,可以在前段通過ajax非同步請求後臺介面資料,一般ajax通過傳遞json物件給後臺介面,後臺接收資料轉化為Bean物件,處理邏輯完成後,將返回的資料轉為json回送給前臺呼叫者; 1.前臺ajax引數格式為: var par
Java專案中日期型別轉換成Cron表示式
今天在做專案的時候遇到一個需求,需要動態的從頁面上傳遞時間,同時開啟一個定時任務,這裡就需要用到把Java時間轉換成Cron表示式,在網上找了一圈,沒有找到太合適的,於是自己動手寫了一個工具類: package com.useeinfo.bftu.utils; import
springMvc自定義型別轉換器(把接收引數String轉成為Date型別)
1. 首先建立一個類,實現Converter介面,並實現其未實現方法。import org.springframework.core.convert.converter.Converter; public class CustomGlobalStrToDateConver
springMVC中日期格式轉換問題
SpringMVC中不能自動將Spring轉換成Date,所以要在Action實現類中新增日期轉換器,用來轉換日期格式,不然,jsp頁面資料傳輸時會不能和javaBean實體類的屬性相對應。在Action實現類中的構造方法後面新增initBinder方法 /** * spr
springMvc--接受日期型別引數處理
這個問題,也即是springMvc如何進行引數型別的轉換 , 以把client傳過來一個String型別,轉換為日期型別為例回到頂部步驟1.controller/** * 接收日期型別引數 * 注意: * springmv
SpringMVC-8 資料型別轉換、資料格式化與資料校驗
1. 資料繫結流程 SpringMVC通過反射機制對目標處理方法進行解析,將請求訊息繫結到處理方法的入參中。其中,資料繫結的核心部件是DataBinder,執行機制如下: 資料繫結的具體流程說明如下: SpringMVC主框架將S
Struts2 自定義日期型別轉換
xwork-conversion.properties檔案,程式自動載入web.xml,根據web.xml中的配置,自動找到struts.xml檔案,此時如果struts.xml同級目錄存在xwork-conversion.properties檔案,程式就會自動載入該檔案。
struts2之日期型別轉換
一,概述 struts2中預設會對1995-07-08這種日期型別的資料進行型別轉換,轉換為Date型別,但是有時使用者在jsp頁面提交表單時提交的是19950708、1995年07月08日這種型別的
springmvc實體類型別轉換
為什麼前一種能顯示游標而後一種就不會顯示游標呢這是有顯示的ltEditTextandroid:id="@+id/tv_phone"android:layout_width="0dp"android:layout_height="wrap_content"android:lay
SpringMVC解決@ResponseBody返回Json的Date日期型別的轉換問題
在做專案的時候,發現後臺把Date型別的屬性以json字串的形式返回,前臺拿不到轉換後的日期格式,始終響應回去的都是long型別時間戳。 查閱資料之後找到解決方法(在springmvc的xml配置檔案下): <mvc:annotation-driven> <mv