91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringMVC中如何利用@InitBinder來對頁面數據進行解析綁定

發布時間:2021-06-17 14:52:16 來源:億速云 閱讀:174 作者:小新 欄目:編程語言

小編給大家分享一下SpringMVC中如何利用@InitBinder來對頁面數據進行解析綁定,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

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

這里我們可以使用注解@InitBinder來解決這些問題,這樣SpingMVC在綁定表單之前,都會先注冊這些編輯器。一般會將這些方法些在BaseController中,需要進行這類轉換的控制器只需繼承BaseController即可。其實Spring提供了很多的實現類,如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();  
    }  
  } 
}

以上是“SpringMVC中如何利用@InitBinder來對頁面數據進行解析綁定”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

吴江市| 皋兰县| 静乐县| 兴文县| 浙江省| 大港区| 永善县| 营山县| 保德县| 临高县| 泰来县| 罗平县| 阜新市| 崇文区| 资阳市| 望奎县| 邹城市| 临漳县| 荆门市| 北碚区| 望都县| 沛县| 郁南县| 伽师县| 涿州市| 图们市| 上虞市| 宜春市| 肥东县| 徐州市| 喀喇沁旗| 荣成市| 明光市| 沧州市| 纳雍县| 长宁县| 富阳市| 卓尼县| 攀枝花市| 石狮市| 江北区|