有关sturts2做的项目,放在linux出现致命的问题Date转换致死
2013-04-16 11:45
309 查看
最近在工作中做一个管理系统,在本地的时候自己测试,没有任何问题,然后放在公司服务器开始测试,
测试的一开始就出现了问题,通过date类型的条件查询数据的时候,接收请求的action直接down掉,
并且直接跳转到了input对应的界面,这种问题之致命的,因为一旦这样,所有该action的请求功能全部down
掉,简单的说,整个系统部分功能完全崩溃,一开始没找到病症,死活解决不了,后来在不懈的努力之下,
终于找到了问题所在,是因为linux环境是英文的,不能识别yyyy-MM-dd这种日期格式,说实话,struts2
这个地方做的太粗糙了,java作为跨平台的语言,这点居然给忽视了,后来自己在网上找到解决方法,
在这里面
测试的一开始就出现了问题,通过date类型的条件查询数据的时候,接收请求的action直接down掉,
并且直接跳转到了input对应的界面,这种问题之致命的,因为一旦这样,所有该action的请求功能全部down
掉,简单的说,整个系统部分功能完全崩溃,一开始没找到病症,死活解决不了,后来在不懈的努力之下,
终于找到了问题所在,是因为linux环境是英文的,不能识别yyyy-MM-dd这种日期格式,说实话,struts2
这个地方做的太粗糙了,java作为跨平台的语言,这点居然给忽视了,后来自己在网上找到解决方法,
package cn.edu.bigc.common.sys; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Map; import com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter; /** * 自定义Date转换类,为实现linux引文时间转换 * * @author jixiangxiang * */ public class DateConverter extends DefaultTypeConverter { private static final DateFormat[] ACCEPT_DATE_FORMATS = { new SimpleDateFormat("dd/MM/yyyy"), new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"), new SimpleDateFormat("yyyy-MM-dd"), new SimpleDateFormat("yyyy/MM/dd") }; // 支持转换的日期格式 @SuppressWarnings("unchecked") @Override public Object convertValue(Map context, Object value, Class toType) { // TODO Auto-generated method stub 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; } }
在这里面
private static final DateFormat[] ACCEPT_DATE_FORMATS = { new SimpleDateFormat("dd/MM/yyyy"), new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"), new SimpleDateFormat("yyyy-MM-dd"), new SimpleDateFormat("yyyy/MM/dd") }; // 支持转换的日期格式 提供你所使用的日期格式,我的不一定适合你,关键看你使用的是什么样的格式,写好这个类以后然后遵循struts2的配置 xwork-conversion.properties放在src根目录,java.util.Date=cn.edu.bigc.common.sys.DateConverter也对应着 写上。
相关文章推荐
- 解决使用maven的java web项目导入后出现的有关问题 -cannot be read or is not a valid ZIP file
- 在linux安装出现的有关问题与解决方案
- 有关项目框架转换快速定位程序中的问题
- Linux环境下段错误的产生原因及调试方法小结 最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多、花费时间最长的问题就是
- linux下部署项目后可能出现的问题 ;(是无效,Web server process 写入资料的目录)
- 关于json转换格式出现\/Date(618854400000+0800)\/的问题
- 解决使用maven的java web项目导入或新建添加pom配置后出现的有关问题 -cannot be read or is not a valid ZIP file
- 解决Linux下安装bugzilla出现的out-of-date问题
- [-项目随笔-] 问题:在windows和linux下运行正常,solaris出现中文问题~
- linux模块加载出现有关问题,printk打印信息,终端里看不到
- 解决使用maven的java web项目导入后出现的有关问题, -cannot be read or is not a valid zip file
- 关于json-lib将mysql中的date(time)转换成json对象出现java.sql.time not gethours问题
- linux 下部署基于speedPhp的项目出现的问题解决方式
- 2003项目转换2005出现的问题及解决方案
- linux环境下启动tomcat7出现时间过长(已经编译完成的项目)问题解决!
- WIC项目_SAIO SQLCE DB manmger转换出现的问题
- dom4j解析一个xml报文,如果是java项目解析没有任何问题,可是放在weblogic下面解析就出现错
- 解决java web项目出现的有关问题 -cannot be read or is not a valid ZIP file
- 编译linux 出现的有关问题
- IE下Date.parse出现NaN有关问题解决