jsp提交数据类型默认为String类型,如果不进行数据类型转换直接插入到数据库会报类型不匹配的异常
package com.zipx.controller.converters; import java.beans.PropertyEditorSupport;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date; import org.springframework.beans.propertyeditors.PropertiesEditor;import org.springframework.web.bind.WebDataBinder;import org.springframework.web.bind.annotation.InitBinder; public abstract class CustomDateConverter {@InitBinder public void InitBinder(WebDataBinder dataBinder){ dataBinder.registerCustomEditor(Date.class, new PropertyEditorSupport() { public void setAsText(String value) { try { if(value.length() > 16) { setValue(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(value)); }else if(value.length() > 10){ setValue(new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(value)); }else{ setValue(new SimpleDateFormat("yyyy-MM-dd").parse(value)); } } catch(ParseException e) { setValue(null); } } public String getAsText() { return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format((Date) getValue()); } }); //double类型dataBinder.registerCustomEditor(double.class, new DoubleEditor());} } class DoubleEditor extends PropertiesEditor {@Overridepublic void setAsText(String text) throws IllegalArgumentException {if (text == null || text.equals("")) { text = "0"; } setValue(Double.parseDouble(text)); }@Overridepublic String getAsText() { return getValue().toString(); }}