Java 如何转换struts2中非';t是短格式的吗?

Java 如何转换struts2中非';t是短格式的吗?,java,struts2,Java,Struts2,我知道struts2可以在填充控制器的字段时将字符串转换为日期,但是,假设日期字符串为短格式,它就可以这样做。有没有办法为struts指定不同的格式(例如,“yyyy-MM-dd”)?您需要创建自己的CustomType转换器,它可以将给定的日期更改为任何格式。 差不多 public class MyDateConvertor extends StrutsTypeConverter { public Object convertFromString(Map context, Strin

我知道struts2可以在填充控制器的字段时将字符串转换为日期,但是,假设日期字符串为短格式,它就可以这样做。有没有办法为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官方文件中获得更多详细信息,以下是详细信息