如何更改struts 2 中java.util.Date 对象的格式。我测试过,Struts 2 接受m/d/yy。是否可以更改格式?
以及如何更改默认消息“字段日期的字段值无效”?
struts2 中的日期标签只能用于输出。
如何更改struts 2 中java.util.Date 对象的格式。我测试过,Struts 2 接受m/d/yy。是否可以更改格式?
以及如何更改默认消息“字段日期的字段值无效”?
struts2 中的日期标签只能用于输出。
您可以将格式传递给s:date
标签
<s:date name="myDate" format="yyyy-MM-dd" />
要更改默认错误消息,validation.xml
您可以添加 message 参数
<field name="myDate">
<field-validator type="date">
<message key="errors.myDateRequired" />
</field-validator>
</field>
然后在您的ApplicationResources.properties
文件中,您将为errors.myDateRequired
更新:根据评论
s:date
只是一个只读标签,这意味着不能用于接受用户的输入。
为了使 textField 接受不同格式的日期,有几种方法:
您可以使用自定义转换器将文本字段用于日期,例如
The date format Struts accepts depends on the user's locale. So for different locales you can have different date formats. This way you won't be able to support multiple date formats for the same locale but I don't see why you would need this anyway, it's only going to confuse your users. The only way to support different date formats for the same locale without javascript would be with a custom date converter as @mprabhat notes.
您可以查看有关此的官方文档:
定义资源包中每种语言的格式。例如,适当的 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