如何在struts中更改java.util.Date对象的格式2.我测试过,Struts 2接受m / d / yy。是否可以更改格式?
还有如何更改默认消息“字段日期的字段值无效”?
struts2中的日期标记只能用于输出。
答案 0 :(得分:2)
您可以将格式传递给s:date
代码
<s:date name="myDate" format="yyyy-MM-dd" />
要更改默认错误消息,请在validation.xml
中添加消息参数
<field name="myDate">
<field-validator type="date">
<message key="errors.myDateRequired" />
</field-validator>
</field>
然后在ApplicationResources.properties
文件中,您将为errors.myDateRequired
更新:根据评论
s:date
只是一个只读标记,表示不能用于接受来自用户的输入。
为了让textField能够接受不同格式的日期,有几种方法:
您可以使用自定义转换器将文本字段用于日期example
答案 1 :(得分:0)
Struts接受的日期格式取决于用户的语言环境。因此对于不同的区域设置,您可以使用不同的日期格式这样你就无法为同一个语言环境支持多种日期格式,但我不明白为什么你还需要它,它只会让你的用户感到困惑。在没有javascript的情况下,为同一语言环境支持不同日期格式的唯一方法是将自定义日期转换为@mprabhat notes。
答案 2 :(得分:0)
您可以看到关于此的官方文档:
定义资源包的每种语言的格式。例如,适当的en_US格式定义扩展名可能如下所示:
format.date = {0,date,MM/dd/yy}
同时,您可以将以下内容添加到de_DE包中:
format.date = {0,date,dd.MM.yyyy}
http://struts.apache.org/2.1.6/docs/formatting-dates-and-numbers.html