如何使用Grails进行JAXB编组

时间:2014-02-20 00:39:57

标签: grails jaxb

JAXB可以用作Grails的编组器吗?我的域类是JAXB注释的Java类,GORM目前正在对它们进行编组,但不区分空字符串和空字符串。 JAXB可以做出这种区分,所以我想尽可能使用JAXB。

JAXB正在客户端使用,我试图将这些Java对象从服务器传送到客户端而不更改它们,但GORM会导致空字符串变为空字符串。

如何设置JAXB来替换Grails编组?任何答案都应该包含一个示例,其中有一个相同类型的对象列表,并且它们在一些包装器元素中被编组在一起(因为这发生在索引操作上并且在我的应用程序中很常见)。包装元素的标记名称不太重要。 Grails使用“list”,它与JAXB一起使用,但我见过的其他marshallers使用了对象类型的复数,这也适用于JAXB。

1 个答案:

答案 0 :(得分:0)

我在这篇文章中使用了编组代码(请参阅博客链接了解更多信息):Is it possible to programmatically configure JAXB?

然后我修改了marshal helper类来做更多的工作并在Grails中使用它,如下所示:

def results = MyObj.list()
def xmlString = MarshalHelper.marshal(MyObj.class,results,"myObjs")
render( text: xmlString, contentType: "text/xml" )