2011-12-14 121 views
1

我有一個這樣的名單:Grails的渲染列表

def bookList = Book.list() 

,並希望呈現爲XML/JSON,最好使用這種方法:

render Book.list() as XML 

不過,我只想渲染特定該列表的字段,我們假設:field1field2,field3。其他無用的東西將不會顯示。

回答

2

如果你的情況是很簡單的,你可以只收集你所需要的,例如:

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

render output as XML 

使用生成器(從唐的回答)是一個很好的解決方案,以及。

2

如果要關閉對XML輸出的控制,應該使用Grails的XMLBUilder而不是as XML。這裏的an example,顯示如何使用JSONBuilder,不含性能如classmetaClass

向該例如需要產生XML而不是JSON唯一修改是實例化一個XMLBuilder代替JSONBuilder渲染的對象。