springmvc提交数据到controller进行日期格式转换

    xiaoxiao2025-05-22  10

    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();  }}

    转载请注明原文地址: https://ju.6miu.com/read-1299147.html
    最新回复(0)