grails - 如何检测 Controller 已被 g :include tag lib? 调用

标签 grails gsp

为了发送适当的响应,我需要检测是否已通过经典 HTTP GET 请求、AJAX 请求或 g:include 请求 Controller 操作标签库.

例如,考虑以下片段代码:

class CommunityController {
  def show = {
    def users = getUsers()
    if (/* WHAT IS THE CODE HERE??? */)  //g:include request => render 'show' template only
      render template:'show', model=[users]
    else if (request.xhr)  //Ajax => we send JSON content
      render users as JSON
    else //Classic request => we render 'show' GSP page
      [users]
  }
}

...我怎样才能检测到该操作已通过 g:include 标记库调用?

谢谢。

最佳答案

你可以这样测试:

import org.springframework.web.util.WebUtils

if (request.getAttribute(WebUtils.INCLUDE_REQUEST_URI_ATTRIBUTE)) {
    // request was included
}

关于grails - 如何检测 Controller 已被 g :include tag lib? 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3969615/

相关文章:

java - 在没有 Grails 的普通 Spring MVC 中使用 GSP View

html - GSP模板无法从另一个模板检索传递的模板

grails - 导入具有小行高的Excel文件(在错误的位置找到行/单元格记录)

Grails 日期选择器

grails - OutOfMemoryError : Java heap space to upload 8 MB size file

grails - 如何访问 Grails GSP 文件中当前请求的 URL

AngularJS ui-grid 导出菜单缺少导出按钮

grails - 如何使用where子句获取子表中的记录数

html - (Grails)具有语义ui的GSP

javascript - 使用正则表达式在 g :TextField 中进行验证