利用struts2写的web程序,发布到LINUX后,有时日期会出现问题。Action中的Date类型的成员变量无法从前台提交的参数中获取。导致这个问题的一个原因是因为linux的语言环境没有设置成中文。
Linux Centos 中需要修改/etc/sysconfig/i18n文件。
使用下面的命令:
vi i18n
打开i18n文件并修改成如下样子:
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME=zh_CN.UTF-8
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=zh_CN.UTF-8
然后 :w 保存, !q退出。
然后重启操作系统。
这样Action里对Date类型的数据的获取就变得正常了。在前台就可以按照中式格式 "yyyy-MM-dd HH:mm:ss"
的方式提交日期数据了。