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

有用 专栏收录该内容
34 篇文章 0 订阅

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

相信以上的三种日期格式化方法足以解决你所遇到的问题。


  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值