如何在struts2中转换非简短格式的日期?

问题描述

| 我知道struts2可以在填充控制器的字段时将字符串转换为Dates,但是,假设date字符串为SHORT格式,则可以这样做。有没有一种方法可以指定供Struts使用的其他格式(例如\'yyyy-MM-dd \')?     

解决方法

您需要创建自己的CustomType转换器,可以将给定日期更改为任何格式。 就像是
public class MyDateConvertor extends StrutsTypeConverter {
     public Object convertFromString(Map context,String[] values,Class 
toClass) {
         SimpleDateFormat sdf = new SimpleDateFormat(\"yyyy-MM-dd\");
          try {
              Date date = (Date) sdf.parse(values[0]);
              return new java.sql.Date(date.getTime()) ;
          } catch (ParseException e) {
              return values[0];
          }
      }

      public String convertToString(Map context,Object o) {
         SimpleDateFormat sdf = new SimpleDateFormat(\"yyyy-MM-dd\");
         return sdf.format(o);
      }
  }
您可以从Struts2官方文档中获取更多详细信息,这是详细信息 Struts2自定义类型转换     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...