渲染模板在Grails中总是输出布局(我不希望它!)

问题描述:

我有一个GSP与提交一个通过Ajax调用更新页面上的一个div搜索的形式:渲染模板在Grails中总是输出布局(我不希望它!)

<g:submitToRemote value="Search" 
    update="employeeList" 
    url="[controller: 'employee', action: 'searchAjax']" /> 

我EmployeeController有searchAjax行动:

def searchAjax = { 
    def employees = employeeService.search(params.searchTerm) 
    render(template: 'employeeListing', collection: employees, var: 'employee') 
} 

不幸的是渲染输出始终包括我的控制器的布局。有没有办法让渲染()方法只有呈现没有布局的模板?

没关系。我发现this。我最初对这篇文章感到困惑,因为作者误解(和滥用)了“模板”一词。我不认为他理解Grails实际上有模板,与布局不同!

无论如何,答案是为包括 'text/plain的' 内容类型参数:

def searchAjax = { 
    def employees = employeeService.search(params.searchTerm) 
    render(template: 'employeeListing', collection: employees, var: 'employee', 
      contentType: 'text/plain') 
}