源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

如何解决struts2日期类型转换

  • 时间:2020-07-06 20:10 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:如何解决struts2日期类型转换
因此要想保证系统一定要正确第对Date类型进行转换,就要写一个全局的类型转换类,进行Date与String之间的类型转换。
[u]复制代码[/u] 代码如下:
package com.great.util; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Map; import com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter; public class DateConverter extends DefaultTypeConverter {     private static final DateFormat[] ACCEPT_DATE_FORMATS = {             new SimpleDateFormat("dd/MM/yyyy"),             new SimpleDateFormat("yyyy-MM-dd"),             new SimpleDateFormat("yyyy/MM/dd") }; //支持转换的日期格式     @Override     public Object convertValue(Map context, Object value, Class toType) {         if (toType == Date.class) {  //浏览器向服务器提交时,进行String to Date的转换             Date date = null;             String dateString = null;             String[] params = (String[])value;             dateString = params[0];//获取日期的字符串             for (DateFormat format : ACCEPT_DATE_FORMATS) {                 try {                     return format.parse(dateString);//遍历日期支持格式,进行转换                 } catch(Exception e) {                     continue;                 }             }             return null;         }         else if (toType == String.class) {   //服务器向浏览器输出时,进行Date to String的类型转换             Date date = (Date)value;             return new SimpleDateFormat("yyyy-MM-dd").format(date);//输出的格式是yyyy-MM-dd         }         return null;     } }
在根目录下创建xwork-conversion.properties文件,并在里面添加下面语句,注册类型转换器 java.util.Date=com.great.util.DateConverter 其中的com.great.util.DateConverter是日期转换类包含命名空间的全称。         然后很多人就大功告成了。       而我还没有成功,系统报错       “ERROR (CommonsLogger.java:27) - Conversion registration error”       “java.lang.ClassNotFoundException: com.great.util.DateConverter”       注册类型转换器没有成功?       仔细一检查发现“java.util.Date=com.great.util.DateConverter”的后面多了一个空格!真相大白了。去掉空格,再次运行,成功!
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部