一尘不染

struts属性标记如何以m / d / yy格式转换java.util.Date

jsp

我的动作类中有一个Date对象,当我使用<s:property>标记在jsp中访问该对象时,m/d/yy无需干预即可获取Date
格式,为什么会发生这种情况?

<s:property value="#xyz"/> where xyz is of type java.util.date show date in m/d/yy format

阅读 368

收藏
2020-06-10

共1个答案

一尘不染

Struts可以识别某些对象类型,如文档的“
内置类型转换支持”部分中列出的以及Andrea的链接答案中所述。

如果您想知道为什么m/d/yy即使使用<s:property>标签而不是<s:date>标签,您的Date对象为何仍呈现为格式,这是因为Date是Struts2内置转换的类型之一。

因此toString(),Struts2不会使用Date对象的默认方法,而是使用内置的类型转换器来显示String。

com.opensymphony.xwork2.conversion.impl.StringConverter类中,Struts2会尝试使用Andrea和文档中提到的Locale的默认格式,以有意义的方式将Date对象转换为String。

2020-06-10