Struts2 json-plugin 解决日期时间格式带T的问题

记录一下自己解决这个问题的过程,

1,百度一下,搜到了一个官方的解决方案:

也就是在get方法上加注解

@JSON(format="yyyy-MM-dd HH:mm:ss")
 public Timestamp getCreateDate() {
  return createDate;
 }

 

2,上面的方法是可以解决,但是这个注解必须要引入json-plugin插件的jar,

这样会出现两个问题,

第一:定义Bean的包中必须要引入json-plugin的jar

第二:本身只是一个Bean的定义,如果不是在Struts中用,还加了一个这样的注解,污染了代码

第三:所有的时间相关的都要加一遍,太费劲了

 

3,于是我就看官方关于这个插件的说明:http://struts.apache.org/docs/json-plugin.html

同样只是介绍了上面的方法,于是开始看源码,找到实现的原理看看有没有干净简单的方法来

统一处理,实在不行就把源码拿来自己修改修改,功夫不负有心人终于找到了如下代码:

 

org.apache.struts2.json.JSONResult

public String getDefaultDateFormat() {
        return defaultDateFormat;
}

@Inject(required=false,value="struts.json.dateformat")
public void setDefaultDateFormat(String defaultDateFormat) {
        this.defaultDateFormat = defaultDateFormat;
}

 是的,重点就在set方法上的注解(struts.json.dateformat),我猜测应该是用来设置时间格式的

 

3,修改struts.xml文件:

<struts>
    ......
    <constant name="struts.json.dateformat" value="yyyy-MM-dd HH:mm:ss" />
    ......
<struts>

 

4,测试一下,大功告成酷!!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值