gpt4 book ai didi

grails - 在Grails GSP布局内使用其他布局

转载 作者:行者123 更新时间:2023-12-02 15:21:13 24 4
gpt4 key购买 nike

我有一个Grails 2.4.x应用程序,其中约80%的页面使用simple.gsp布局,而其他页面都是散乱的,根本不使用任何布局/模板。但是他们不能使用simple.gsp,因为它的内容不适用于他们。

我需要将标题导航添加到所有这些页面(100%),并且想要一个优雅的解决方案。理想情况下,我可以创建一个包含标题nav的新布局,例如awesome-header.gsp。然后:

  • 对于任何不使用simple.gsp布局的页面(同样,约20%),我只希望它们直接使用awesome-header.gsp;但是然后...
  • 我只是以某种方式引用/导入/扩展simple.gsp以(以某种方式)使用awesome-header.gsp;现在允许其他〜80%的页面使用新的标题nav

  • 假设这是 simple.gsp:
    <!DOCTYPE html>
    <html>
    <head>
    <title>
    <g:layoutTitle default="Some App" />
    </title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <!-- Lots of stuff -->
    <g:layoutHead />
    <!-- Lots of stuff -->
    </head>
    <body>
    <!-- Lots of stuff -->
    <div id="page-content">
    <g:layoutBody />
    </div>
    <!-- Lots of stuff -->
    </body>
    </html>

    并假装这是 awesome-header.gsp:
    <%@ page contentType="text/html;charset=UTF-8" %>
    <html>
    <head>
    <title></title>
    </head>

    <body>
    <script id="awesome-header-bootstrap" src="/awesome-header/awesome-header-bootstrap-1.0.js"><script>
    <g:layoutBody />
    </body>
    </html>

    漂亮的准系统。我只需要在 awesome-header.gsp元素的顶部包含一个JS,就可以完成 <body>布局。出于这个问题的目的,此JS脚本是“魔术”的,它为我神奇地获取了导航头。
  • 如何引用/导入/扩展simple.gsp以使用awesome-header.gsp
  • 我不希望awesome-header.gsp覆盖任何titleheader内容(在simple.gsp内部定义或在任意散布器页面中定义)

  • 有什么想法可以完成此设置吗?

    最佳答案

    如果我很了解,则需要在simple.gsp和awesome-header.gsp之间建立层次结构。因此,您可以查看此link来帮助您完成此操作。

    另一个解决方案(可能因为没有太多修改可做而更容易)是使用模板:

  • 将所有与awesome-header相关的HTML / JS代码放在模板内(让我们说_awesome-header.gsp,'_'很重要!)
  • 只需将该行放入“简单”布局中以及未与“简单”布局连接的所有其他页面中:<g:render template='awesome-header'/>
  • 关于grails - 在Grails GSP布局内使用其他布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35850420/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com