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

Son*_*ari 5 java jsp struts2 struts-tags

我有一个JSP页面,我从我的动作类中获取一个Date值.我无法理解它是如何处理的:

<s:property value="#someDate"/> 
Run Code Online (Sandbox Code Playgroud)

给我约会

2/7/14
Run Code Online (Sandbox Code Playgroud)

<s:property value="{#someDate}"/> 
Run Code Online (Sandbox Code Playgroud)

给我日期为

[Wed Feb 7 00:00:00 IST 2014]
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我这里如何实际处理日期值,因为日期以不同的格式返回?

Mr.*_*. P 9

好问题.

<s:property value="{#someDate}"/>等于<s:property value="someDate.toString()"/>或${someDate}其中作为<s:property value="someDate"/>被使用内置的类型转换xwork2其中使用短格式与用于日期当前请求相关联的区域设置.

请参阅 内置类型转换支持

value="{#someDate}" means value="someDate.toString()"
Run Code Online (Sandbox Code Playgroud)

它将日期转换为date.tosting()这就是为什么你会得到[Wed Feb 7 00:00:00 IST 2014]

要处理日期格式,struts2中有一个特殊标记

<s:date name="someDate" format="dd/MM/yyyy" />
Run Code Online (Sandbox Code Playgroud)

打印

17/04/2014
Run Code Online (Sandbox Code Playgroud)

另见

<s:date name="someDate" format="dd/MMM/yyyy" />
Run Code Online (Sandbox Code Playgroud)

打印

17/Apr/2014 
Run Code Online (Sandbox Code Playgroud)

还有一个属性 nice="true"

<s:date name="someDate" nice="true" />
Run Code Online (Sandbox Code Playgroud)

打印

 2 days ago
Run Code Online (Sandbox Code Playgroud)