黑马程序员技术交流社区

标题: 关于BeanUtills的DateLocaleConverter的问题 [打印本页]

作者: 马东华    时间: 2012-6-9 22:31
标题: 关于BeanUtills的DateLocaleConverter的问题
本帖最后由 马东华 于 2012-6-9 22:33 编辑
  1. package cn.itcast.introspector;
  2. import java.lang.reflect.InvocationTargetException;
  3. import java.text.ParseException;
  4. import java.text.SimpleDateFormat;
  5. import java.util.Date;
  6. import java.util.HashMap;
  7. import java.util.Map;

  8. import org.apache.commons.beanutils.BeanUtils;
  9. import org.apache.commons.beanutils.ConvertUtils;
  10. import org.apache.commons.beanutils.Converter;
  11. import org.apache.commons.beanutils.locale.converters.DateLocaleConverter;

  12. import org.junit.Test;

  13. public class Demo2 {
  14.         @Test
  15.         public void test1() throws Exception
  16.         {
  17.                 Person p=new Person();
  18.                 BeanUtils.setProperty(p, "age", "25");
  19.                 System.out.println(p.getAge());
  20.         }
  21.         @Test
  22.         public void test2() throws Exception
  23.         {
  24.                 String name="allal";
  25.                 String age="24";
  26.                 String birthday="1988-07-14";
  27.                
  28.                 /*ConvertUtils.register(new Converter() {//[color=Red]用这个注册的时候,可以正确转换[/color]
  29.                         
  30.                         @Override
  31.                         public Object convert(Class type, Object value) {
  32.                                 
  33.                                 if(value==null)
  34.                                 {
  35.                                         return null;
  36.                                 }
  37.                                 if(!(value instanceof String))
  38.                                 {
  39.                                         return null;
  40.                                 }
  41.                                 String values=(String)value;
  42.                                 if(values.trim()=="")
  43.                                 {
  44.                                         return null;
  45.                                 }
  46.                                 
  47.                                 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
  48.                                 try {
  49.                                         return sdf.parse(values);
  50.                                 } catch (ParseException e) {
  51.                                         // TODO Auto-generated catch block
  52.                                         throw new RuntimeException(e);
  53.                                 }
  54.                         }
  55.                 }, Date.class);
  56.                 */
  57.                 ConvertUtils.register(new DateLocaleConverter(), Date.class);//用这个方法的时候就会出现这个错误:2012-6-9 22:28:17 org.apache.commons.beanutils.locale.converters.DateLocaleConverter getFormatter
  58. 警告: Null pattern was provided, defaulting to: yy-M-d ah:mm   
  59.                
  60.                 Person p=new Person();
  61.                 BeanUtils.setProperty(p, "name", name);
  62.                 BeanUtils.setProperty(p, "age", age);
  63.                 BeanUtils.setProperty(p, "birthday", birthday);
  64.                
  65.                 System.out.println(p.getName());
  66.                 System.out.println(p.getAge());
  67.                 System.out.println(p.getBirthday());
  68.                
  69.         }}
复制代码
不知道为什么,请各位大侠给予解答?
作者: yjf    时间: 2012-7-12 09:29
楼主的情况是beanutils 包的原因,换成commons-beanutils-1.8.3能解决问题。
作者: hl174    时间: 2014-12-27 10:01
确实是包的问题  谢谢
作者: yzmaodeng    时间: 2015-12-5 22:30
换成commons-beanutils-1.8.3




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2