SpringMVC對日期類型的轉換@ResponseBody返回的DateTime是long類型


  目前,多數web開發這都在使用Spring的框架。但是這個框架有個

  @ResponseBody 注解返回json時,日期格式默認顯示為時間戳。

  而我們頁面展示的時候一般都是以下格式:

  yyyy-MM-dd HH:mm:ss

  yyyy/MM/dd HH:mm:ss

  yyyy年MM月dd日 HH:mm:ss

  上網查詢了很多資料,很多說法都不錯。但是基本都是copy別人的,不知道有沒有自己試驗過。

  我自己親自測試了一種方法,結果可行,現在把其貢獻出來。

  SpringMVC框架中的JavaBean中對時間格式的做了get和set方法。

  在get方法上寫上

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8",locale = "zh")

  然后在js中查看就可以看到格式已經變了。記得是js中查看,不是在java類里查看。java類里查看依然是long的時間戳,js中查看的數據是經過

  @ResponseBody封裝后的數據。

  注意:導入的@JsonFormat的時候記得導入的包名是這個:import com.fasterxml.jackson.annotation.JsonFormat;

 import com.fasterxml.jackson.annotation.JsonFormat;

  不要搞錯了,因為在spring的配置文件里,配置的就是這個包來解析json

  配置信息可以比對下:

  

<mvc:annotation-driven />
    <!--避免IE執行AJAX時,返回JSON出現下載文件 -->
    <bean id="mappingJacksonHttpMessageConverter"
          class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
        <property name="supportedMediaTypes">
            <list>
                <value>text/html;charset=UTF-8</value>
                <value>application/json; charset=utf-8</value>
            </list>
        </property>
    </bean>
    <!-- 啟動SpringMVC的注解功能,完成請求和注解POJO的映射 -->
    <bean
            class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
        <property name="messageConverters">
            <list>
                <ref bean="mappingJacksonHttpMessageConverter" /> <!-- JSON轉換器 -->
            </list>
        </property>
    </bean>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM