有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Jaxb2Marshaller在2013年失败的java Spring MVC

我有一个SpringMVC项目,它通过PUT方法接受XML输入。XML中的一个元素是dateTime。我使用Jaxb2Marshaller将XML解组为bean。我有一个针对服务器上运行的webapp的单元测试

当我使用new GregorianCalendar(2012, 01, 02)发送时间戳时,一切正常,我的应用程序接收对象

但是,如果我将测试更新为使用new GregorianCalendar(2013, 01, 02),则对象中的字段将返回为null

请注意,唯一的区别是年份,2012年与2013年。我在应用程序日志、localhost或catalina中没有看到任何错误消息。出去

想法

编辑:其他信息

我正在使用DataTypeConverterdateTime转换为Calendar。因此,我的模式有以下内容(我使用XJC将模式转换为Java类)

<annotation><appinfo><jaxb:globalBinding>
      <jaxb:javaType name="java.util.Calendar" xmlType="dateTime"
          parseMethod="javax.xml.bind.DatatypeConverter.parseDate"
          printMethod="javax.xml.bind.DatatypeConverter.pringDate"/>
</jaxb:globalBinding></appinfo></annotation>

共 (1) 个答案

  1. # 1 楼答案

    因此,我去掉了到Calendar的映射,并允许XJC使用XMLGregorianCalendar生成Java类。这似乎解决了问题。看起来还是很奇怪,所以我很愿意去了解