Grails在div中显示gsp

时间:2011-05-15 01:38:04

标签: grails render

嘿。想象一下,我有两个单独的gsp页面具有不同的CSS格式(两个名称冲突)。我想在另一页的div中“显示”或呈现一个页面,其ows格式化。想象一下这种情况:

page1.gsp

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

page2.gsp

Hello there!

我希望我的最后一页是:

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

有可能吗?

3 个答案:

答案 0 :(得分:0)

是使用g:render标记并创建一个“片段”页面来包含您的内容。

然后使用g:render标签将其拉入。

有关详细信息,请参阅文档或教程。

答案 1 :(得分:0)

这与我几天前发布的一个问题非常类似: Can I display an inner dive with an independent stylesheet?

答案 2 :(得分: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>

* render的Model属性是可选的,但适用于将数据传递给要呈现的模板

{应用} /的grails-app /视图/ {somefolder} / _ page2.gsp

* 注意gsp名称前面的“_”。 (模板页面公约)

Hello There

查看render and templating

的文档