天道酬勤

有关Struts2 Date类型转换的问题

    在使用Struts2开发Web应用时,如果使用Date类型数据时,Struts2会调用Date转换器来处理页面的Date字符串到Date类型的转换,在阅读了Struts2的Code后,发现Date转换器使用的日期格式都不是中文日期格式,而我们的日期字符串格式为2008-05-26 12:00,当找不到对应的日期格式时,Struts2会用短日期格式来处理(yy-MM-dd),这时如果我们需要长日期格式的数据,在日期转换后是拿不到准确数据的,不知道有没有同仁处理过类似的问题,欢迎大家给个合适的解决方案。

posted on 2008-05-26 15:06 Alex_Han 阅读(9376) 评论(8)  编辑  收藏

Feedback

# re: 有关Struts2 Date类型转换的问题 2008-05-26 15:16 Alex_Han

我们想要的值是2008-05-26 12:00,而得到的值是08-05-26,没有了时间。
我自己有两种方式解决:1、将日期类型改为字符型,在做业务处理时在转换;
2、在日期的get方法中增加上当前时间。

但是我个人觉得都不是很好。  回复  更多评论   

# re: 有关Struts2 Date类型转换的问题 2008-05-26 16:42 altchen

一般不要用struts默认的日期转换.布置的系统环境决定了struts2怎么来转.这样很没底

自定义日期转换:
xwork-conversion.properties里配
java.util.Date=com.xxx.xxxx.MyDateConverter
自己写个MyDateConverter.具体请查看struts2帮助
  回复  更多评论   

# re: 有关Struts2 Date类型转换的问题 2008-05-26 17:28 隔叶黄莺

我也遇到这种问题,暂且用下面方法来处理

<s:textfield name="model.startDate">
<s:param name="value"><s:date name="model.startDate"/></s:param>
</s:textfield>


也可以
<input type="text" value="<s:date name="person.birthday" format="yyyy-MM-dd" />" />

总之借助于 <s:date 来对日期格式化输出

struts.properties 中设置 struts.date.format=yyyy-MM-dd也只能控制到<s:date>标签  回复  更多评论   

# re: 有关Struts2 Date类型转换的问题 2008-05-27 15:00 Alex_Han

Thanks for reply!i will do it.  回复  更多评论   

# re: 有关Struts2 Date类型转换的问题 2008-05-27 17:36 懒人

不是有各种格式之间的转换么?  回复  更多评论   

# re: 有关Struts2 Date类型转换的问题 2008-10-09 13:17 asf

<br><H1></H1>  回复  更多评论   

# re: 有关Struts2 Date类型转换的问题 2010-05-09 10:07 剑雨飘香

使用Struts2的标签,设置format属性
  回复  更多评论   

# re: 有关Struts2 Date类型转换的问题 2010-05-09 10:11 剑雨飘香

在date标签中设置format属性,如果没有设置就到国际化资源文件中找struts。date。format的消息,如果无法找到就采用DateFormat。MEDIUM格式输出
  回复  更多评论   



只有注册用户登录后才能发表评论。


网站导航:
 

My Links

Blog Stats

常用链接

留言簿(2)

随笔分类

随笔档案

文章分类

文章档案

关注Blog

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜