Как определить, что контроллер был вызван тегом g: include lib? - PullRequest
3 голосов
/ 19 октября 2010

Чтобы отправить соответствующий ответ, мне нужно определить, было ли запрошено действие контроллера с помощью классического HTTP-запроса GET, запроса AJAX или g: include tag lib .

Например, учитывая следующий фрагмент кода:

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 Ответ

5 голосов
/ 19 октября 2010

Вы можете проверить это так:

import org.springframework.web.util.WebUtils

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