激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

香港云服务器
服務器之家 - 編程語言 - Java教程 - 解決springmvc關于前臺日期作為實體類對象參數類型轉換錯誤的問題

解決springmvc關于前臺日期作為實體類對象參數類型轉換錯誤的問題

2020-11-24 14:56Java教程網 Java教程

下面小編就為大家帶來一篇解決springmvc關于前臺日期作為實體類對象參數類型轉換錯誤的問題。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

頁面報錯:

解決springmvc關于前臺日期作為實體類對象參數類型轉換錯誤的問題

后臺錯誤:

Field error in object 'user' on field 'birthday': rejected value [2013-06-24]; codes [typeMismatch.user.birthday,typeMismatch.birthday,typeMismatch.java.util.Date,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [user.birthday,birthday]; arguments []; default message [birthday]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'java.util.Date' for property 'birthday'; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type java.lang.String to type java.util.Date for value '2013-06-24'; nested exception is java.lang.IllegalArgumentException]

解決方案1:在對應的實體類屬性上加入 @DateTimeFormat(pattern = "yyyy-MM-dd")

解決springmvc關于前臺日期作為實體類對象參數類型轉換錯誤的問題

解決方案2:不使用 <mvc:annotation-driven/>注解

使用 DefaultAnnotationHandlerMapping 和 AnnotationMethodHandlerAdapter 注解驅動配置

在對應的實體類屬性上加入 @DateTimeFormat(pattern = "yyyy-MM-dd")

?
1
2
3
4
5
6
7
8
9
10
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
      <property name="webBindingInitializer">
        <bean class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer">
          <property name="conversionService">
            <bean class="org.springframework.format.support.FormattingConversionServiceFactoryBean"/>
          </property>
        </bean>
      </property>
    </bean>

3、使用 @InitBinder注解,注冊一個父類Controller(BaseController),其他Controller去繼承它

?
1
2
3
4
Springmvc配置文件
 
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>
?
1
2
3
4
5
6
7
8
9
10
11
public class BaseController {
  @InitBinder
  public void initBinder(WebDataBinder binder) {
    /**
     * 第一種方式:使用WebDataBinder注冊一個自定義的編輯器,編輯器是日期類型
     * 使用自定義的日期編輯器,日期格式:yyyy-MM-dd,第二個參數為是否為空  true代表可以為空
     */
    binder.registerCustomEditor(Date.class, new CustomDateEditor(
        new SimpleDateFormat("yyyy-MM-dd"), true));
  }
}

或者使用下面的方式

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public class BaseController {
  @InitBinder
  public void initBinder(WebDataBinder binder) {
    /**
     * 方式二:使用WebDataBinder注冊一個自定義的編輯器,編輯器是日期類型
     * 使用屬性編輯器實現:重載setAsText,getAsText
     */
    binder.registerCustomEditor(Date.class, new PropertyEditorSupport() {
 
      @Override
      public String getAsText() {
        return new SimpleDateFormat("yyyy-MM-dd")
            .format((Date) getValue());
      }
 
      @Override
      public void setAsText(String text) {
        try {
          setValue(new SimpleDateFormat("yyyy-MM-dd").parse(text));
        } catch (Exception e) {
          e.printStackTrace();
          setValue(null);
        }
      }
 
    });
  }
}

以上這篇解決springmvc關于前臺日期作為實體類對象參數類型轉換錯誤的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
424
主站蜘蛛池模板: 一级黄色毛片子 | 久久成年网| hdhdhd79xxxxх| 国产一区精品视频 | 亚洲精品一区二区三区在线看 | 日本网站在线看 | 成人免费淫片视频软件 | 色七七久久影院 | 久久人人做 | 亚洲国产资源 | 精品一区二区三区日本 | 国产精品99久久久久久宅女 | 日本视频免费看 | 私库av在线免费观看 | 亚洲欧美日韩综合 | 91在线色 | 欧美日韩激情 | av色在线观看 | 精国品产一区二区三区有限公司 | 免费一级在线视频 | 久久久www视频 | 国产精品九九久久一区hh | 国产毛片毛片毛片 | av在线日韩 | 久久国产乱子伦精品 | 综合欧美一区二区三区 | 精品国产91久久久久久久妲己 | 欧美一级aa免费毛片 | 日本看片一区二区三区高清 | 2021国产精品视频 | 国产精品二区高清在线 | 中日韩免费视频 | 国产免费人做人爱午夜视频 | 亚洲国产中文字幕 | 欧美激情首页 | 日本成年网| 精品国产乱码久久久久久久久 | 一本色道久久综合亚洲精品图片 | 欧美成人午夜一区二区三区 | 精品国产乱码久久久久久久 | 成人黄视频在线观看 |