Grails呈现列表

时间:2011-12-14 14:22:55

标签: xml json grails

我有一个这样的清单:

 def bookList = Book.list()

并希望将其呈现为XML / JSON,最好使用此方法:

render Book.list() as XML

但是,我只想渲染该列表的特定字段,例如:field1field2field3。其他无用的东西将不会显示出来。

2 个答案:

答案 0 :(得分:2)

如果要密切控制XML输出,则应使用Grails' XMLBUilder而不是as XML。这里的an example显示了如何使用JSONBuilder呈现对象,不包括classmetaClass等属性。

要仅修改此示例,需要生成XML而不是JSON,以实例化XMLBuilder而不是JSONBuilder

答案 1 :(得分:2)

如果您的案例足够简单,您可以收集所需的内容,例如:

def output = Book.list().collect { [
    field1: it.field1,
    field2: it.field2,
    field3: it.field3
] }

render output as XML

使用构建器(来自Don的答案)也是一个很好的解决方案。