3

適切な応答を送信するには、コントローラーアクションが従来のHTTP GETリクエスト、AJAXリクエスト、またはg:includeタグ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]
  }
}

...アクションがag:include tag libを介して呼び出されたことをどのように検出できますか?

ありがとうございました。

4

1 に答える 1

5

次のようにテストできます。

import org.springframework.web.util.WebUtils

if (request.getAttribute(WebUtils.INCLUDE_REQUEST_URI_ATTRIBUTE)) {
    // request was included
}
于 2010-10-19T17:13:16.830 に答える