render方法允许你在一个action主体内的任何一个地方显示一个定制的视图。
例如,考虑如下的例子:def save = {
def book = Book(params)
if(book.save()) {
// handle
}
else {
render(view:"create", model:[book:book])
}
}
上面举的这个例子中,处理对象用返回值作这个模型的结果是不可行的,相反结果保存在控制对象的modelAndView属性当中。
modelAndView属性是Spring MVC ModelAndView类的一个实例,你可以用它测试一个action处理后的结果:def bookController = new BookController()
bookController.save()
def model = bookController.modelAndView.model.book