Grails 在 div 内显示 gsp

发布于 2024-11-07 11:04:47 字数 362 浏览 4 评论 0原文

嘿。想象一下我有两个独立的 gsp 页面,具有不同的 css 格式(两个页面之间存在名称冲突)。我想在另一页的 div 内“显示”或渲染一个页面及其 ows 格式。想象一下这种情况:

page1.gsp

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

page2.gsp

Hello there!

我希望我的最终页面是:

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

可以这样做吗?

Hey. Imagine i have two separate gsp pages with diferent css formatting (with name conflicts between two). And i want to "display" or render one page with its ows formatation inside a div in the other page. Imagining this scenario:

page1.gsp

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

page2.gsp

Hello there!

I want my final page to be:

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

Is it possible to do that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

不打扰别人 2024-11-14 11:04:47

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

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

有关此内容的更多详细信息,请参阅文档或教程。

Yes use the g:render tag and create a "fragment" page to contain your content.

then use the g:render tag to pull it in.

Refer to the documentation or tutorials for more detail on this.

浮云落日 2024-11-14 11:04:47

这和我前几天发的一个问题很相似:
我可以使用独立样式表显示内部潜水吗?< /a>

This is very similar to a question I posted a couple of days ago:
Can I display an inner dive with an independent stylesheet?

北恋 2024-11-14 11:04:47

您想在每个页面上执行此操作吗? (像布局一样?)

如果是这种情况,请使用 SiteMesh(已内置)

{app}/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>

{app}/grails-app/views/{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>

如果您已经有了它,并且只是想分解页面并保持它们干燥..

{app}/grails-app/views/{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>

* Model 属性渲染是可选的,但适用于将数据传递到要渲染的模板

{app}/grails-app/views/{somefolder}/_page2.gsp

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

Hello There

查看 渲染和模板

Is this something you want to work for every page? (Like a layout?)

If that is the case, use SiteMesh (built in already)

{app}/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>

{app}/grails-app/views/{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>

If you already have that, and are just looking at breaking up you pages and keeping them DRY..

{app}/grails-app/views/{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>

* The Model property of render is optional, but works for passing data to the template to be rendered

{app}/grails-app/views/{somefolder}/_page2.gsp

* Notice the "_" before the gsp name. (Convention for Template pages)

Hello There

Checkout the documentation for render and templating

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文