记录一下自己解决这个问题的过程,
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,测试一下,大功告成!!