適切な応答を送信するには、コントローラーアクションが従来の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を介して呼び出されたことをどのように検出できますか?
ありがとうございました。