当前位置:  编程技术>java/j2ee

如何解决struts2日期类型转换

    来源: 互联网  发布时间:2014-10-23

    本文导语:  因此要想保证系统一定要正确第对Date类型进行转换,就要写一个全局的类型转换类,进行Date与String之间的类型转换。 代码如下:package com.great.util; import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Ma...

因此要想保证系统一定要正确第对Date类型进行转换,就要写一个全局的类型转换类,进行Date与String之间的类型转换。

代码如下:

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”的后面多了一个空格!真相大白了。去掉空格,再次运行,成功!


    
 
 

您可能感兴趣的文章:

  • 浏览器自动转换URL编码产生乱码问题的解决办法
  • 跪求解决方法 iconv 不支持 utf-8 gb2312转换 iconv -l 显示没有utf-8 gb2312
  • 解决无法在unicode和非unicode字符串数据类型之间转换的方法详解
  • 类型转换,INT 转变为 STRING,在线等待,解决马上给分。
  • 解决C++ 无法从void 转换为LRESULT的方法详解
  • 请教,在64位机AIX系统,使用iconv()函数转换UTF-8到GBK失败,是什么原因呢?如何解决?
  • php iconv函数解决utf-8与gb2312编码转换问题
  • C#中将字符串转换为整型的三种解决方法总结
  • 完美转换MySQL的字符集 解决查看utf8源文件中的乱码问题
  • MySQL从MyISAM转换成InnoDB错误与常用解决办法
  • 将MySQL从MyISAM转换成InnoDB错误和解决办法
  • Oracle插入日期数据常见的2个问题和解决方法
  • C++实现两个日期间差多少天的解决方法
  • MySQL中日期比较时遇到的编码问题解决办法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 在Struts2中如何将父类属性序列化为JSON格式的解决方法
  • struts2中action实现ModelDriven后无法返回json的解决方法
  • struts2 中文乱码的解决办法分享
  • secureCRT下Linux终端汉字乱码解决方法
  • VS2005解决方案管理器中不显示解决方案节点的解决办法
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 有高手能破解RAR的密码吗,至今没有找到人能解决?(先只给10分意思意思,若解决,至少给解决的人500分!说话算话!)
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • 解决 select 挡住div的解决方法
  • window.onload事件覆盖掉body onload事件(window.onload和html body onload事件冲突)解决办法
  • 奇怪,怎么“已解决”问题只有4页(10/17日之后的),以前的已解决问题到哪里看?
  • sharepoint 2010中item.Update()和item.SystemUpdate 修改数据版本问题解决
  • 解决!解决!求助如何安装多系统!
  • andriod中UIScrollView无法正常滚动的解决方法
  • 解决多级索引速度慢的问题可否像解决多级页表那样使用TLB?
  • 错误:将'const x'作为'x'的'this'实参时丢弃了类型限定问题解决
  • Liunx命令tar压缩出现如下错误该怎么解决?急需解决!感谢
  • windows server2008上PowerBuilder程序系统错误解决方法 iis7站长之家
  • 求数据库解决方案===求数据库解决方案
  • windows server2008上PowerBuilder程序系统错误解决方法
  • MYSQL安装时解决要输入current root password的解决方法
  • Linux/CentOS下的CST和UTC时间的区别以及不一致的解决方法
  • 解决oracle用户连接失败的解决方法
  • Linux下时钟同步问题:Clock skew detected原因分析及解决方法
  • 呵呵,前段时间Ubuntu服务器版的问题总算解决了,解决方法就是重新安装桌面版-_-!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3