2

Grails で別のビューからビューをレンダリングしようとしています。

<g:render contextPath="??" template="first_view" />

私は index.gsp にいて、特定のコントローラー (例: user/first_view.gsp) の下にあるビューをレンダリングしたいと考えています。ドキュメントに記載されているように、ビューの正しいパスを「contextPath」に設定する必要があることを理解しています: http://grails.org/doc/latest/ref/Tags/render.html

アプリのビューへの contextPath とは何ですか?

4

1 に答える 1

5

コンテキストパスをまったく設定する必要はないと思います。レンダリング ドキュメントから:

テンプレート属性の値が「/」で始まる場合は、views ディレクトリに対して相対的に解決されることに注意してください。これは、ビュー間でテンプレートを共有する場合に便利です。先頭の '/' がない場合、最初に現在のコントローラーのビュー ディレクトリに対して相対的に解決され、それが失敗すると最上位のビュー ディレクトリが解決されます。

あなたの場合 ( <g:render contextPath="??" template="first_view" />)、render タグは、現在のビューのディレクトリで _first_view.gsp を探します。テンプレートをユーザー ビュー ディレクトリに配置する場合は、タグを次のように変更します。<g:render template="/user/first_view" />

テンプレート属性のパスは「/」で始まる必要があることに注意してください

于 2012-11-19T22:57:46.410 に答える