2011-05-15 77 views
0

嘿。想象一下,我有兩個不同的CSS格式的gsp頁面(兩個名稱之間有衝突)。我想在其他頁面的div中顯示或渲染一個頁面。想象這樣的場景:Grails在div裏面顯示gsp

page1.gsp

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

page2.gsp

Hello there! 

我希望我的最後一頁是:

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

是否有可能做到這一點?

+0

文檔...你看看G:渲染標籤? – vector 2011-05-15 01:40:30

回答

0

是使用g:render標籤並創建一個「片段」頁面來包含您的內容。

然後用G:渲染標籤把它拉在

請參閱文檔或教程更詳細的關於這個。

0

是要爲每一頁的工作這事? (就像一個佈局?)

如果是這樣,使用SiteMesh的(建於已經)

{}應用程序的情況下/grails-app/views/layouts/mylayout.gsp

<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 /視圖/ {} somefolder /page1.gsp

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

如果你已經有了這一點,只是在尋找打破你的網頁,並保持他們幹..

{}應用/的grails-app /視圖/ {} somefolder /page1.gsp

<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> 

*渲染的模型屬性是可選的,但適用於將數據傳遞到模板要呈現

{}應用/的grails-app /視圖/ {} somefolder/_ page2.gsp

*的通知 「_」 之前普惠制名。 (公約模板頁)

Hello There 

結帳的render and templating