亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

spring mvc使用@InitBinder標簽對表單數據綁定的方法

發布時間:2020-10-26 02:41:09 來源:腳本之家 閱讀:117 作者:lemrose 欄目:編程語言

在SpringMVC中,bean中定義了Date,double等類型,如果沒有做任何處理的話,日期以及double都無法綁定。

解決的辦法就是使用spring mvc提供的@InitBinder標簽

在我的項目中是在BaseController中增加方法initBinder,并使用注解@InitBinder標注,那么spring mvc在綁定表單之前,都會先注冊這些編輯器,當然你如果不嫌麻煩,你也可以單獨的寫在你的每一個controller中。剩下的控制器都繼承該類。spring自己提供了大量的實現類,諸如CustomDateEditor ,CustomBooleanEditor,CustomNumberEditor等許多,基本上夠用。

當然,我們也可以不使用他自己自帶這些編輯器類,那下面我們自己去構造幾個

import org.springframework.beans.propertyeditors.PropertiesEditor;  
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();  
  }  
}  
import org.springframework.beans.propertyeditors.PropertiesEditor; 
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();  
  }  
}  
import org.springframework.beans.propertyeditors.PropertiesEditor;  
public class FloatEditor extends PropertiesEditor {  
  @Override  
  public void setAsText(String text) throws IllegalArgumentException {  
    if (text == null || text.equals("")) {  
      text = "0";  
    }  
    setValue(Float.parseFloat(text));  
  }  
  
  @Override  
  public String getAsText() {  
    return getValue().toString();  
  }  
}  
import org.springframework.beans.propertyeditors.PropertiesEditor; 
public class LongEditor extends PropertiesEditor {  
  @Override  
  public void setAsText(String text) throws IllegalArgumentException {  
    if (text == null || text.equals("")) {  
      text = "0";  
    }  
    setValue(Long.parseLong(text));  
  }  
  
  @Override  
  public String getAsText() {  
    return getValue().toString();  
  }  
} 

在BaseController中

@InitBinder  
  protected void initBinder(WebDataBinder binder) {  
    binder.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"), true));  
/    binder.registerCustomEditor(int.class, new CustomNumberEditor(int.class, true));  
    binder.registerCustomEditor(int.class, new IntegerEditor());  
/    binder.registerCustomEditor(long.class, new CustomNumberEditor(long.class, true)); 
    binder.registerCustomEditor(long.class, new LongEditor());  
    binder.registerCustomEditor(double.class, new DoubleEditor());  
    binder.registerCustomEditor(float.class, new FloatEditor());  
  }  

復制代碼 代碼如下:

public class org.springframework.beans.propertyeditors.PropertiesEditor extends java.beans.PropertyEditorSupport { 

看到沒?如果你的編輯器類直接繼承PropertyEditorSupport也可以。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

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

AI

徐汇区| 多伦县| 河北区| 西乌珠穆沁旗| 长丰县| 长沙县| 珲春市| 峨眉山市| 桐梓县| 博兴县| 桦甸市| 绿春县| 通州市| 普定县| 本溪| 南平市| 会东县| 万全县| 石阡县| 松潘县| 瓮安县| 佳木斯市| 丹寨县| 比如县| 玛曲县| 红河县| 甘谷县| 盐边县| 武胜县| 望谟县| 凭祥市| 大方县| 余江县| 桃园县| 余庆县| 大安市| 札达县| 遂川县| 合水县| 蒙城县| 个旧市|