JAXB 可以用作 Grails 的编码器吗?我的域类是 JAXB 注释的 Java 类,GORM 目前正在编码它们,但不区分空字符串和空字符串。 JAXB 可以做出这种区分,所以如果可能的话,我想使用 JAXB。
JAXB 正在客户端使用,我试图在不更改它们的情况下将这些 Java 对象从服务器获取到客户端,但是 GORM 导致空字符串变为空字符串。
如何设置 JAXB 来替换 Grails 编码?任何答案都应该包括一个示例,其中有一个相同类型的对象列表,并且它们在某个包装器元素中编码在一起(因为这发生在索引操作中并且在我的应用程序中很常见)。包装元素的标签名称不太重要。 Grails 使用“list”,它适用于 JAXB,但我见过的其他编码器使用对象类型的复数形式,它也适用于 JAXB。
最佳答案
我在这篇文章中使用了编码代码(更多信息请参见博客链接):Is it possible to programmatically configure JAXB?
然后我修改了 marshal 辅助类来做更多的工作,并在 Grails 中使用它,如下所示:
def results = MyObj.list()
def xmlString = MarshalHelper.marshal(MyObj.class,results,"myObjs")
render( text: xmlString, contentType: "text/xml" )
关于grails - 如何在 Grails 中使用 JAXB 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21895769/