Struts2创建自定义日期类型转换器

深碍√TFBOYSˉ_ 2022-04-11 13:41 342阅读 0赞

第一步:新建日期类型转换器类,并继承抽象类org.apache.struts2.util.StrutsTypeConverter,实现convertFromString和convertToString两个抽象方法。

  1. //自定义日期类型转换器
  2. public class DateConverter extends StrutsTypeConverter {
  3. private final DateFormat[] sdf={
  4. new SimpleDateFormat("yyyy年MM月dd日"),
  5. new SimpleDateFormat("yyyy-MM-dd"),
  6. new SimpleDateFormat("yyyy/MM/dd"),
  7. new SimpleDateFormat("yyyy.MM.dd"),
  8. new SimpleDateFormat("yyMMdd"),
  9. new SimpleDateFormat("MM/dd/yy")
  10. };
  11. //将指定格式字符串转换为日期类型
  12. @Override
  13. public Object convertFromString(Map map, String[] strings, Class aClass) {
  14. String dateStr=strings[0]; //获取日期的字符串
  15. for(int i=0;i<sdf.length;i++){
  16. try {
  17. return sdf[i].parse(dateStr);
  18. } catch (Exception e) {
  19. continue;
  20. }
  21. }
  22. //如果遍历完毕后扔没有转换成功,则表明出现转换异常
  23. throw new TypeConversionException();
  24. }
  25. //将日期转换为指定格式字符串
  26. @Override
  27. public String convertToString(Map map, Object o) {
  28. Date date=(Date)o;
  29. //输出的格式是yyyy-MM-dd
  30. return new SimpleDateFormat("yyyy-MM-dd").format(date);
  31. }
  32. }

第二步:新建xwork-conversion.properties配置文件。
一,应用于全局范围的类型转换器:
在src目录下新建配置文件,其内容为:转换类全名=类型转换器类全名
二,应用于特定类的类型转换器:
在特定类的相同目录下创建配置文件,其内容为:特定类的属性名=类型转换器类全名

如:全局范围的类型转换器

  1. java.util.Date=cn.kgc.tools.DateConverter

发表评论

表情:
评论列表 (有 0 条评论,342人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Struts2类型转换器

    不管我们用什么框架,前端发到后台的请求参数都是字符串类型的,所以后台必须要将这些字符串转化成我们要用的类型。Struts2提供了很强的类型转换机制,并且提供了很好的扩展性。像常