struts属性标签如何与日期值一起使用?

5

我有一个JSP页面,在这个页面中,我从我的action类中获取了一个日期值。但是我不太理解它是如何处理的:

<s:property value="#someDate"/> 

给我日期

2/7/14

相反地

<s:property value="{#someDate}"/> 

将日期以以下格式返回:

[Wed Feb 7 00:00:00 IST 2014]

有人能告诉我这里日期值是如何处理的吗?因为日期以不同格式返回。

someDate 的属性是哪种类型?我的意思是字符串类型还是日期类型。 - Rookie007
如果我错了,请有人纠正我。谢谢。 - Rookie007
你为什么使用 property 标签而不是 <s:date ... /> 标签?这个标签专门用于日期输出处理。 - Johannes
http://stackoverflow.com/questions/21607045/how-come-struts-property-tag-converts-java-util-date-in-m-d-yy-format - Andrea Ligios
谢谢提供的链接...这帮助我理解了 :) - Sonal Maheshwari
显示剩余2条评论
1个回答

9
不错的问题。"<s:property value="{#someDate}"/>"等同于"<s:property value="someDate.toString()"/>"或"${someDate}",而"<s:property value="someDate"/>"使用了xwork2的内置类型转换,它会使用与当前请求相关联的区域设置的SHORT格式来处理日期。请参见内置类型转换支持
value="{#someDate}" means value="someDate.toString()"

它将日期转换为date.toString(),这就是为什么你得到了 [Wed Feb 7 00:00:00 IST 2014] 的原因。
为了处理日期格式,在struts2中有一个特殊的标签。
<s:date name="someDate" format="dd/MM/yyyy" />

打印(指“打印机的输出”)
17/04/2014

也可参见。
<s:date name="someDate" format="dd/MMM/yyyy" />

打印品
17/Apr/2014 

还有一个属性 nice="true"
<s:date name="someDate" nice="true" />

打印。
 2 days ago

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接