我的动作类中有一个Date对象,当我使用<s:property>标记在jsp中访问该对象时,m/d/yy无需干预即可获取Date 格式,为什么会发生这种情况?
<s:property>
m/d/yy
<s:property value="#xyz"/> where xyz is of type java.util.date show date in m/d/yy format
Struts可以识别某些对象类型,如文档的“ 内置类型转换支持”部分中列出的以及Andrea的链接答案中所述。
如果您想知道为什么m/d/yy即使使用<s:property>标签而不是<s:date>标签,您的Date对象为何仍呈现为格式,这是因为Date是Struts2内置转换的类型之一。
<s:date>
因此toString(),Struts2不会使用Date对象的默认方法,而是使用内置的类型转换器来显示String。
toString()
在com.opensymphony.xwork2.conversion.impl.StringConverter类中,Struts2会尝试使用Andrea和文档中提到的Locale的默认格式,以有意义的方式将Date对象转换为String。
com.opensymphony.xwork2.conversion.impl.StringConverter