我的网络应用程序使用struts2-json-plugin-2.2.1
我有一个动作,它暴露从DB加载的对象(通过休眠)。
此对象包含一个如此注释的java.util.Date字段:
@JSON(format = "dd-MM-yyyy")
@Column(name = "DATA_CREAZIONE", nullable = false)
public Date getDataCreazione() {
return this.dataCreazione;
}
而不是得到:
"dataCreazione":"15-02-2013"
我明白了:
"dataCreazione":"2013-02-15T16:51:06"
在调试中,我注意到org.apache.struts2.json.JSONWriter
类没有在getDataCreazione
方法上找到任何注释,并且代理类属于"$$_javassist"
类型而不是"$$EnhancerByCGLIB$$"
作为其他情况......
在同一个应用程序中,我有很多这种情况,注释工作正常。 我不明白与其他类有什么问题(或区别)。
你有什么建议吗?
答案 0 :(得分:0)
您没有指定注释属性的name
。默认情况下,不会反序列化具有空名称的注释。如需进一步参考,请查看Apache docs。
答案 1 :(得分:0)
btw我确认问题的根源。正如我之前所说,它驻留在使用的代理类中。在我的情况下 - 如果我加载对象(通过休眠),那么使用的代理是$$ _ javassist - 如果我获取对象(通过休眠),那么对象就是'代理,然后JSonWriter可以恢复注释 - >所以它能够像我注释那样格式化 -