struts2 中的默认的日期输出并不符合我们的中文日常习惯,以下是我知道的在struts2中进行日期格式化输出的几种方式。
1、利用 <s:date>进行格式化,如:
<s:date name="birthday"format="yyyy-MM-dd" />
就是将属性birthday按yyyy-MM-dd的格式进行输出。
注:name和format都不能省略。
2、利用<s:param>进行格式化,如:
<s:textfield name="birthday">
<s:param name="value"><s:date name="birthday"format="yyyy-MM-dd"/></s:param>
</s:textfield>
注:同样这些标签中的name属性也不能省。
3、通过国际化的方式:
首先在struts.properties中配置
struts.custom.i18n.resources=globalMessages。
然后在globalMessages_zh_CN.properties和globalMessages_en_US.properties文件中添加如下内容:
global.datetime = {0, date, yyyy-MM-dd HH:mm:ss}
global.date = {0, date, yyyy-MM-dd}
最后在页面中使用下面的语句就可以实现日期的格式化输出了:
<s:textfield name="birthday" value="%{getText('global.date',{birthday})}"/>
//golbal.date样式
<s:textfield name="birthday" value="%{getText('global.datetime',{birthday})}"/>
//global.datetime样式