1.jsp 页面
<form action="${pageContext.request.contextPath }/first.do" method="post">
出生日期:<input name="birthday"/><br/><br/> 年龄:<input name="age"/><br/><br/> <input type="submit" value="注册"/></form>2 日期转换类
package cn.happy.controller;
import java.sql.Date;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.regex.Pattern;import org.springframework.beans.TypeMismatchException;import org.springframework.beans.propertyeditors.PropertiesEditor;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; } }3 action 类
package cn.happy.controller;
import java.beans.PropertyEditor;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;import org.springframework.beans.propertyeditors.CustomDateEditor;import org.springframework.beans.propertyeditors.PropertiesEditor;import org.springframework.stereotype.Controller;import org.springframework.web.bind.WebDataBinder;import org.springframework.web.bind.annotation.InitBinder;import org.springframework.web.bind.annotation.RequestMapping; @Controller public class FirstController { /** * * @param binder */ @InitBinder public void initBinder(WebDataBinder binder){ binder.registerCustomEditor(Date.class,new MyDateEditor()); System.out.println("===============11111"); } @RequestMapping("/first.do") //类型转化工作一定是在真正的handler方法执行前执行的。 public String doFirst(Date birthday,int age) throws Exception{ System.out.println(birthday+"==============="); System.out.println(age+"==============="); return "/WELCOME.jsp"; } }