2016-05-20 6 views
-1

<g:includeからビューにデータを渡す方法の1つは、model属性を使用してデータを渡すことです。 <g:includeに渡されたコントローラアクションからそのデータを取得するにはどうすればよいですか?Grails:<g:ビューを取得する前にアクション内にインクルードする方法は?

たとえば、私はしました。 <g:include controller="Book" action="list" model="${name: 'xyz'}" />

listアクション内のmodel属性に格納されている値にアクセスできませんでした。しかし、値xyzの変数nameは、list.gspで入手できました。

+0

あなたの質問は明らかではありません。もっと説明してください。 –

+0

@ShashankAgrawalが更新されました。今クリア? –

+0

いいえまだまだ:-)私の理解に基づいて、あなたは何らかのアクション( 'list'以外)にいて、' Book'コントローラの 'list'アクションの応答を含めたいと思っていて、値 'xyz'の' name'を 'Book'コントローラの' list'アクションに追加しますか? –

答えて

0

通常、Grailsのパラメータにアクセスするのと同じ方法で、paramsオブジェクトを使用してこれらのパラメータにアクセスします。渡された 'モデル'は、grailsがparamsオブジェクトにバインドするマップです。

たとえば、GSPに次の行があるとします。

<%-- Just an example, you probably shouldn't set a map this way. --%> 
${someModel = [someParam: 'SomeValue'] } 
<g:include model="${someModel}" controller="someController" action="someAction" /> 

は、その後、あなたのsomeController/someActionの内側にあなたが行うことで、このモデルにアクセスできます。

if (params.someParam) { 
    //Do Something 
} 
+0

これを試しました。私はうまくいきませんでした。しかし、私は、コントローラによってレンダリングされたビューで評価されたマップを見つけました。 –

関連する問題