我正在努力解决 Struts2 日期格式问题。如果我理解正确,Struts2 中的类型转换是语言环境感知的,并且映射到 Date 对象的任何表单字段/参数都应该是以其语言环境特定的 SHORT 格式格式化的字符串;值堆栈上 Date 对象的默认输出也输出为 Locale 特定的 SHORT 格式(除非被自定义格式覆盖)。
尽管表单字段与日期配合良好,但在使用 <s:url>
时标签我似乎无法获得 <s:param>
标记以正确编码日期参数。当我尝试这样的事情时
<s:url action="foo" >
<s:param name="endDateParam" value="#endDate"/>
</s:url>
结果显然不是 SHORT 格式:
/foo.action?endDateParam=Sat+Jan+14+00%3A00%3A00+EST+2012
我重新阅读了 Struts2 文档,但他们主要讨论在 i18n'ized 属性文件中创建自定义日期格式,这似乎不是正确的解决方案。
对这个问题的任何帮助将不胜感激。
最佳答案
你可以这样发送:
<s:param name="dateFrom">
<s:date name="dateFrom" format="dd.MM.yyyy"/>
</s:param>
关于Struts2 <s :url>/<s:param> tags outputting date parameter values that fail in type conversion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9846967/