使用propertyEditor处理字符串和时间的转换问题

在平时的程序开发过程中,很多时候需要将String和Date 进行转换,例如管理系统中日期的录入,一般我们自己编写一个工具类来实现这个功能,不过在spring中,这个过程就更简单了,下面就做一个简单的例子

首先我们创建一个Person类,他有他的生日

Person.java

  1. package rexcel.study.spring.beans.Beanwrapper;   
  2.   
  3. public class Person {   
  4.     private java.util.Date birthDay;   
  5.   
  6.     public java.util.Date getBirthDay() {   
  7.         return birthDay;   
  8.     }   
  9.   
  10.     public void setBirthDay(java.util.Date birthDay) {   
  11.         this.birthDay = birthDay;   
  12.     }   
  13.        
  14. }   

接下来我们要给他设定一个初始的生日,当然仅是给定一个String类型"dd-MM-yyy",因为我输入的时候就是这个类型,我也懒得去修改,那我们要怎么做才好呢?

Test.java

  1. package rexcel.study.spring.beans.Beanwrapper;   
  2.   
  3. import java.text.SimpleDateFormat;   
  4. import java.util.Date;   
  5.   
  6. import org.springframework.beans.BeanWrapper;   
  7. import org.springframework.beans.BeanWrapperImpl;   
  8. import org.springframework.beans.propertyeditors.CustomDateEditor;   
  9.   
  10. public class Test{   
  11.   
  12.     /**  
  13.      * @param args  
  14.      * 使用propertyEditor处理字符串与时间的转换  
  15.      */  
  16.     public static void main(String[] args) {   
  17.         // TODO Auto-generated method stub   
  18.         SimpleDateFormat sdf=new SimpleDateFormat("dd-MM-yyy");   
  19.         //创建propertyEditor   
  20.         CustomDateEditor editor=new CustomDateEditor(sdf,false);   
  21.         Person person =new Person();   
  22.         BeanWrapper bwPerson =new BeanWrapperImpl(person);   
  23.         //设定editor   
  24.         bwPerson.registerCustomEditor(Date.class,editor);   
  25.         //给出生日 String类型  
  26.         bwPerson.setPropertyValue("birthDay","04-03-1986");   
  27.   
  28.         System.out.println(bwPerson.getPropertyValue("birthDay"));   
  29.     }   
  30.   
  31. }   

好了,我们试试看,运行:

Tue Mar 04 00:00:00 CST 1986

一切搞定

你可能感兴趣的:(java,spring)