4

我的网络应用程序使用struts2-json-plugin-2.2.1

我有一个操作可以公开从数据库加载的对象(通过休眠)。

这个对象包含一个 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$$"其他情况......

在同一个应用程序中,我有很多这种情况,并且注释工作正常。我不明白其他课程的问题(或区别)是什么。

你有什么建议吗?

4

2 回答 2

0

您没有指定name注释属性。默认情况下,空名称的注释不会反序列化。如需进一步参考,请查看Apache 文档

于 2013-03-05T08:39:56.163 回答
0

顺便说一句,我确认了问题的根源。正如我之前所说,它位于使用的代理类中。在我的情况下 - 如果我加载对象(通过休眠),那么使用的代理是 $$_javassist - 如果我得到对象(通过休眠),那么对象不会被代理,然后 JSonWriter 可以恢复注释 -> 所以它能够按照我注释的格式进行格式化 –</p>

于 2013-10-29T09:12:49.150 回答