代码之家  ›  专栏  ›  技术社区  ›  fabien7474 Jan Tchärmän

如何检测g:include标记lib调用了控制器?

  •  3
  • fabien7474 Jan Tchärmän  · 技术社区  · 14 年前

    为了发送适当的响应,我需要 检测控制器操作是否已由经典HTTP GET请求、Ajax请求或 g:include 标签库 .

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

    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标记lib调用了操作?

    谢谢您。

    1 回复  |  直到 12 年前
        1
  •  5
  •   ataylor    14 年前

    您可以这样测试它:

    import org.springframework.web.util.WebUtils
    
    if (request.getAttribute(WebUtils.INCLUDE_REQUEST_URI_ATTRIBUTE)) {
        // request was included
    }
    
    推荐文章