我有一个这样的清单:
def bookList = Book.list()
并希望将其呈现为XML / JSON,最好使用此方法:
render Book.list() as XML
但是,我只想渲染该列表的特定字段,例如:field1
,field2
,field3
。其他无用的东西将不会显示出来。
答案 0 :(得分:2)
如果要密切控制XML输出,则应使用Grails' XMLBUilder而不是as XML
。这里的an example显示了如何使用JSONBuilder呈现对象,不包括class
,metaClass
等属性。
要仅修改此示例,需要生成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的答案)也是一个很好的解决方案。