struts2 中的默认的日期输出并不符合我们的中文日常习惯,以下是我知道的在struts2中进行日期格式化输出的几种方式。
1、利用 <s:date>进行格式化,如:
<s:date format="yyyy-MM-dd"/>就是将属性birthday按yyyy-MM-dd的格式进行输出。
2、利用<s:param>进行格式化,如:
- <s:textfield name="mydate">
- <s:param name="value" ><s:date name="mydate" format="yyyy-MM-dd"/></s:param>
- </s:textfield>
或者<input type="text" value="<s:date format="yyyy-MM-dd" />" />
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样式
相信以上的三种日期格式化方法足以解决你所遇到的问题。