SpringMVC 的初始化参数绑定


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

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

配置步骤如下:

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.进行多种日期格式的测试:

 


 

现在属于自己的不一定永远就属于你,初始化参数也会随着绑定不断改变。

                     ---- 告诫自己

 

 

posted @ 2017-01-08 17:13  Beyondづ  阅读(1872)  评论(0编辑  收藏  举报