日期:2014-05-19  浏览次数:20723 次

Struts2 用标签输出日期,怎么设置输出格式
Struts2 中用 <s:property name="date"/>

date 是一个 java.util.Date 类型
怎么设置它的输出格式,在我的项目中输入来是
08-05-23
即 yy-MM-dd 的格式,我想它输出为 yyyy-MM-dd 应该如何做呢?

我已试过在资源文件中加了属性
struts.date.format={yyyy-MM-dd}
或者
struts.date.format=yyyy-MM-dd

都没法改变 <s:property name="date"/> 的输出格式

用<s:text name="struts.date.format"/> 是可以输出它的对应值的,说明资源文件载入无误。

------解决方案--------------------
因为s:textfield的垃圾的tr,td,所以不喜欢用,s:textfield对应input text,可以直接写如下的代码
HTML code

  <input type="text" value="<s:date name="person.birthday" format="yyyy-MM-dd" />" />

------解决方案--------------------
探讨
to 楼上的,我是这么做的,暂时能满足要求,至于 <s:textfield> 标签里如何让日期显示为 08-05-23 还没有细究,因为假如是 toString() 是得不出 08-05-23 的,所以总是存在一个格式转换过程的了。

XML code
<s:textfield name="model.startDate">
<s:param name="value"><s:date name="model.startDate"/></s:param>
</s:textfield>

------解决方案--------------------
<ww:text name="global.format.date">
<ww:param value="createdate"></ww:param>
</ww:text>


global.format.date = {0, date, yyyy-MM-dd}
在BaseAction.Properties里写上上面这段话,其它的Action类都继承BaseAction类.
我这是在Webwork上用的,struts2.0应该也差不多的