最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringMVC中利用@InitBinder來對頁面數(shù)據(jù)進(jìn)行解析綁定的方法

 更新時間:2018年03月15日 08:58:54   作者:夏雪冬日  
本篇文章主要介紹了SpringMVC中利用@InitBinder來對頁面數(shù)據(jù)進(jìn)行解析綁定的方法,非常具有實用價值,需要的朋友可以參考下

在使用SpingMVC框架的項目中,經(jīng)常會遇到頁面某些數(shù)據(jù)類型是Date、Integer、Double等的數(shù)據(jù)要綁定到控制器的實體,或者控制器需要接受這些數(shù)據(jù),如果這類數(shù)據(jù)類型不做處理的話將無法綁定。

這里我們可以使用注解@InitBinder來解決這些問題,這樣SpingMVC在綁定表單之前,都會先注冊這些編輯器。一般會將這些方法些在BaseController中,需要進(jìn)行這類轉(zhuǎn)換的控制器只需繼承BaseController即可。其實Spring提供了很多的實現(xiàn)類,如CustomDateEditor、CustomBooleanEditor、CustomNumberEditor等,基本上是夠用的。

demo如下:

public class BaseController {

  @InitBinder
  protected void initBinder(WebDataBinder binder) {
    binder.registerCustomEditor(Date.class, new MyDateEditor());
    binder.registerCustomEditor(Double.class, new DoubleEditor()); 
    binder.registerCustomEditor(Integer.class, new IntegerEditor());
  }

  private class MyDateEditor extends PropertyEditorSupport {
    @Override
    public void setAsText(String text) throws IllegalArgumentException {
      SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
      Date date = null;
      try {
        date = format.parse(text);
      } catch (ParseException e) {
        format = new SimpleDateFormat("yyyy-MM-dd");
        try {
          date = format.parse(text);
        } catch (ParseException e1) {
        }
      }
      setValue(date);
    }
  }
  
  public class DoubleEditor extends PropertiesEditor {  
    @Override  
    public void setAsText(String text) throws IllegalArgumentException {  
      if (text == null || text.equals("")) {  
        text = "0";  
      }  
      setValue(Double.parseDouble(text));  
    }  
    
    @Override  
    public String getAsText() {  
      return getValue().toString();  
    }  
  } 
  
  public class IntegerEditor extends PropertiesEditor {  
    @Override  
    public void setAsText(String text) throws IllegalArgumentException {  
      if (text == null || text.equals("")) {  
        text = "0";  
      }  
      setValue(Integer.parseInt(text));  
    }  
    
    @Override  
    public String getAsText() {  
      return getValue().toString();  
    }  
  } 
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring Boot整合JPA使用多個數(shù)據(jù)源的方法步驟

    Spring Boot整合JPA使用多個數(shù)據(jù)源的方法步驟

    這篇文章主要給大家介紹了關(guān)于Spring Boot整合JPA使用多個數(shù)據(jù)源的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Spring Boot具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • SpringBoot如何集成i18n(多語言)

    SpringBoot如何集成i18n(多語言)

    這篇文章主要介紹了SpringBoot如何集成i18n(多語言)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • Elasticsearch索引結(jié)構(gòu)與算法解析

    Elasticsearch索引結(jié)構(gòu)與算法解析

    ?作為搜索引擎的一部分,ES自然具有速度快、結(jié)果準(zhǔn)確、結(jié)果豐富等特點(diǎn),那么ES是如何達(dá)到“搜索引擎”級別的查詢效率呢?首先是索引,其次是壓縮算法,接下來我們就一起了解下ES的索引結(jié)構(gòu)和壓縮算法
    2023-04-04
  • 詳解java中float與double的區(qū)別

    詳解java中float與double的區(qū)別

    這篇文章主要介紹了JAVA中float與double的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • java中ExecutorService創(chuàng)建方法總結(jié)

    java中ExecutorService創(chuàng)建方法總結(jié)

    在本篇文章里小編給大家整理了一篇關(guān)于java中ExecutorService創(chuàng)建方法總結(jié),有興趣的朋友們可以參考下。
    2021-01-01
  • 淺談MyBatis執(zhí)行SQL的兩種方式

    淺談MyBatis執(zhí)行SQL的兩種方式

    本文介紹MyBatis執(zhí)行SQL語句的2種方式,主要是SqlSession和Mapper接口以及它們的區(qū)別,具有一定的參考價值,感興趣的可以了解一下
    2021-08-08
  • 詳解JNA中的回調(diào)方法

    詳解JNA中的回調(diào)方法

    這篇文章主要介紹了JNA中的回調(diào)方法,主要包括JNA 中的 Callback,callback 的應(yīng)用,本文通過實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • java多線程之線程,進(jìn)程和Synchronized概念初解

    java多線程之線程,進(jìn)程和Synchronized概念初解

    這篇文章主要介紹了java多線程之線程,進(jìn)程和Synchronized概念初解,涉及進(jìn)程與線程的簡單概念,實現(xiàn)多線程的方式,線程安全問題,synchronized修飾符等相關(guān)內(nèi)容,具有一定借鑒價值,需要的朋友可以參考下。
    2017-11-11
  • SpringBoot響應(yīng)處理實現(xiàn)流程詳解

    SpringBoot響應(yīng)處理實現(xiàn)流程詳解

    這篇文章主要介紹了SpringBoot響應(yīng)處理實現(xiàn)流程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-10-10
  • java Tcp通信客戶端與服務(wù)器端實例

    java Tcp通信客戶端與服務(wù)器端實例

    這篇文章主要介紹了java Tcp通信客戶端與服務(wù)器端,結(jié)合完整實例形式詳細(xì)分析了java基于tcp的網(wǎng)絡(luò)通信客戶端與服務(wù)器端具體實現(xiàn)技巧,需要的朋友可以參考下
    2020-01-01

最新評論

平果县| 长白| 阳春市| 南阳市| 富蕴县| 连城县| 伊春市| 普宁市| 奇台县| 法库县| 祁连县| 酉阳| 望都县| 都昌县| 金堂县| 沂水县| 秭归县| 永清县| 任丘市| 女性| 宁河县| 西安市| 陇川县| 九龙县| 新巴尔虎左旗| 扬州市| 曲沃县| 美姑县| 喀喇沁旗| 阳城县| 华宁县| 封开县| 施甸县| 越西县| 景洪市| 金湖县| 文昌市| 南溪县| 武胜县| 阿荣旗| 治县。|