2011-05-15 5 views
0

Hey。 2つの別々のCSSフォーマット(2つの間に名前の衝突がある)を持つ2つの別々のgspページがあるとします。そして、私は、他のページのdivの中にowsフォーマットで1つのページを「表示」またはレンダリングしたいと思います。このシナリオを想像:Grailsはdiv内にgspを表示します

page1.gsp

... 
... 
<div id="here"></div> 
... 
... 

Hello there! 

は私が私の最後のページになりたいpage2.gsp:

... 
    ... 
    Hello there! 
    ... 
    ... 

それはそれを行うことは可能ですか?

+0

のドキュメントは...あなたはグラムを見なかった:タグをレンダリング? – vector

答えて

0

はいg:renderタグを使用して、コンテンツを格納する「フラグメント」ページを作成します。

そしてグラムを使用します。それを引っ張ってタグをレンダリング

をこの上の詳細は、ドキュメントやチュートリアルを参照してください。

0

は、これはあなたがすべてのページのために仕事をしたいものですか?その場合は(レイアウト枚)

は、

<html> 
<head> 
<g:layoutTitle default="My Application" /> 
<link rel="stylesheet" href="${resource(dir:'css',file:'layout.css')}" /> 
<g:layoutHead /> 
</head> 
<body> 
<div id="here"><g:layoutBody /></div> 
</body> 
</html> 

{/grails-app/views/layouts/mylayout.gsp SiteMesh(既に内蔵)

{アプリ}を使用します

<html> 
    <head> 
    <meta name="layout" content="mylayout" /> 
<link rel="stylesheet" href="${resource(dir:'css',file:'page1.css')}" /> 
    </head> 
    <body> 
    Hello There!!!! 
    </body> 
</html> 

すでにことを持っている、とあなたのページを分割することと、DRYそれらを保つことを探しているなら/page1.gspアプリ}/Grailsのアプリ/ビュー/ {somefolder} ..

<html> 
    <head> 
    <meta name="layout" content="yourLayout" /> 
<link rel="stylesheet" href="${resource(dir:'css',file:'page1.css')}" /> 
    </head> 
    <body> 
    <div id="here2"><g:render template="page2" model="[foo:'bar']"/></div> 
    </body> 
</html> 

/page1.gsp

{アプリ}/Grailsのアプリ/ビュー/ {somefolder} *レンダリングのモデルプロパティはオプションであるが、

をレンダリングするテンプレートにデータを渡すために働きます

{アプリ}/Grailsのアプリ/ビュー/ {somefolder}/_ page2.gsp

*注意 "_" GSP名の前に。 (テンプレートページに関する条約)

Hello There 

アウトrender and templating

関連する問題