您的位置:首页 > 运维架构 > Linux

有关sturts2做的项目,放在linux出现致命的问题Date转换致死

2013-04-16 11:45 309 查看
  最近在工作中做一个管理系统,在本地的时候自己测试,没有任何问题,然后放在公司服务器开始测试,

测试的一开始就出现了问题,通过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也对应着
写上。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐