您的位置:首页 > 编程语言 > Java开发

struts2 s:textfield 标签输出日期问题

2014-11-06 10:04 429 查看
struts2 s:textfield 标签输出日期时会省略掉两位,从网上找来解决方法:

<s:date id="date1" name="date" format="yyyy-MM-dd"/>
<s:textfield name="date" value="%{date1}"></s:textfield>

还有其他方法,未测试:

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样式

相信以上的三种日期格式化方法足以解决你所遇到的问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息