grails - 如何在 Grails 中使用 JAXB 编码

标签 grails jaxb

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/

相关文章:

grails - grails jasper插件报告pdf显示

grails - 服务回拨给 Controller ?

域类中可为空约束的 Grails 问题

javascript - 计算每三周在网站上显示图像

java - xjc 仅适用于架构的一部分

grails - 我可以对正在运行的服务器运行 grails 集成和功能测试吗?

java - 两个子元素中的 JAXB 序列化

java - 使用 sax 解析 xml 响应

java - 没有 child 的根元素。日本航空航天局

java - 通过 JAXB 生成的工件无法解析 log.xml