Grails嵌套布局

时间:2013-11-21 16:45:46

标签: grails sitemesh

我是Grails / GSP / Sitemesh的新手,正在试图弄清楚我是否可以使用嵌套布局。我希望有一个主要布局,将用于我的所有页面,以包含标准页眉,页脚和我所有的CSS / JavaScript资源。在另一个页面子集上,我想定义一个将从主要页面继承的布局,并添加一个侧面菜单和一些其他内容。这样,该部分的每个页面都引用了第二个布局,并自动从中获取内容以及主要布局。

这可能吗?如何定义第二个布局以引用主要布局以使其工作?

更新1

所以,我仔细阅读了下面评论中链接的博客文章,但仍然遇到了麻烦。我尝试使用以下层次结构设置一个非常简单的测试用例。

/layouts/main.gsp  
 -- /layouts/sub.gsp
     -- /test/index.gsp

对于我的网页,我在main.gsp中有以下内容:

<!DOCTYPE html>
<html>
  <head>
    <title><g:layoutTitle default="Grails"/></title>
    <g:layoutHead/>
  </head>
  <body>
    MAIN <br />
    <g:layoutBody/>
  </body>
</html>

在sub.gsp中:

<g:applyLayout name="main">
  <html>
    <head>
      <title><g:layoutTitle/></title>
      <g:layoutHead/>
    </head>
    <body>
      Sub<br />
      <g:pageProperty name="page.content"/>
    </body>
  </html>
</g:applyLayout>

最后在index.gsp:

<html>
  <head>
    <meta name="layout" content="sub"/>
    <title>Title Here</title>
  </head>
  <body>
    <content tag="page.content">
      Content
    </content>
  </body>
</html>

当我加载页面时,页面标题设置正确,我在页面上看到“Main”和“Sub”,但“Content”未显示。我敢肯定我一定是做了一些简单的错误......任何想法?

更新2

我发现我有<content tag="page.content">而且应该是<content tag="content">。似乎现在正在运作。

0 个答案:

没有答案