初始化参数绑定:日期格式

一:首先我们先做一种日期格式的绑定,配置初始化参数绑定和自定义类型转换有着异曲同工之妙

配置步骤如下:

1.我们首先配置applicationContext.xml,进行扫描器的配置

2.其次我们定义它的处理器,以及进行方法的绑定(@InitBinder)

3.单个日期格式进行测试:

<form action="${pageContext.request.contextPath }/first.do" method="post">
   <h1>参数绑定转换器</h1>
    出生日期:<input name="birthday" value="${birthday}"/><br/><br/>
    年龄:<input name="age" value="${age }"/><br/><br/>
      <input type="submit" value="注册"/>
   </form>

 

二:多种日期格式

1.首先我们需要继承一个编辑器(PropertiesEditor)

 重写它的setAsText方法

 以便后续给日期对象的赋值

public class MyDateEditor extends PropertiesEditor{
    @Override
    public void setAsText(String source) throws IllegalArgumentException {
      SimpleDateFormat sdf=getDate(source);
      try {
		setValue(sdf.parseObject(source));
      } catch (ParseException e) {
		e.printStackTrace();
      }
    	 
    }
    private SimpleDateFormat getDate(String source) {
	SimpleDateFormat sdf=null;
	if (Pattern.matches("^\\d{4}-\\d{2}-\\d{2}$", source)) {
	    sdf=new SimpleDateFormat("yyyy-MM-dd");
	}else if (Pattern.matches("^\\d{4}/\\d{2}/\\d{2}$", source)) {
	    sdf=new SimpleDateFormat("yyyy/MM/dd");
	}else if (Pattern.matches("^\\d{4}\\d{2}\\d{2}$", source)) {
	    sdf=new SimpleDateFormat("yyyyMMdd");
	}else {
	    throw new TypeMismatchException("", Date.class);
	}	
	return sdf;
    }
}

2.配置处理器

3.进行多种日期格式的测试:

DickerYang