如何在struts2中将不符合SHORT格式的日期转换?

3
我知道struts2可以在填充控制器字段时将字符串转换为日期,但它默认假设日期字符串是短格式。是否有一种方法可以指定struts使用不同的格式(例如“yyyy-MM-dd”)?
1个回答

4

您需要创建自己的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自定义类型转换


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接