Grails 1.1 Web层 - XML与JSON响应 - 使用render方法输出XML

Grails支持一些不同的方法来产生XML和JSON响应. 第一个是通过 render 方法.

render方法可以传递一个代码块来实现XML中的标记生成器:def list = { def results = Book.list() render(contentType:"text/xml") { books { for(b in results) { book(title:b.title) } } } }这段代码的结果会像这样:<books> <book title="The Stand" /> <book title="The Shining" /> </books>注意,你必须小心的是避免使用标记生成器带来的命名冲突. 例如,这段代码会产生一个错误:def list = { def books = Book.list() // naming conflict here render(contentType:"text/xml") { books { for(b in results) { book(title:b.title) } } } }问题在于,这里的局部变量 books, Groovy会把它当做一个方法来调用.