grails标题标题不适用于布局 - sitemesh和layout

时间:2014-02-24 06:11:55

标签: grails layout gsp

我有一个基本标题布局 base-header-footer.gsp

<!DOCTYPE html>
<html>
    <head>
        <title><g:layoutTitle default="${g.message(code: 'title.index.page')}"/></title>
    </head>
    ... some common resources loading....
     <body id="launch">
    <g:layoutBody/>
   ...........................
    <r:layoutResources />
    </body>
</html>

然后还有2个标题,一个用于登录用户,另一个用于访客用户,这两个标题布局都在扩展基本布局。

来宾用户 anonymouys-header-footer.gsp ) -

<g:applyLayout name="base-header-footer"> 
<!DOCTYPE html>
    <html>
    <head>
        <g:layoutHead/>
    </head>
    <body>
        ... render guest user header
        <g:layoutBody/>         
    </body>
</html>

登录用户 loggedin-header-footer.gsp ) -

<g:applyLayout name="base-header-footer"> 
<!DOCTYPE html>
    <html>
    <head>
        ... some css
        <g:layoutHead/>
    </head>
    <body>
        ... Render header for logged-in user
    </body>
            ... load some JS file...
</html>

现在在特定页面中,我根据用户的登录状态应用访客或登录布局,因此我想显示用户所在的页面特定标题,但它不起作用。

这就是我使用这些布局的方式

OrderStatus.gsp -

<!DOCTYPE html>
<html>
    <head>
        <title>Order status | Some title</title>
        <meta name="layout" content="logged-in-header-footer" />
        <script type="text/javascript" src="${resource(dir:'js',file:'some.js')}"></script>
       </head>
    <body>

    </body>
</html>

但我仍然看到标题是 base-header-footer.gsp 不是OrderStatus.gsp中的标题

我也尝试在 OrderStatus.gsp 中使用 g:layoutTitle ,但没有帮助。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

使用

<meta name="layout" content="base-header-footer">
在您的页面中

加载布局,然后在那里添加标题,

<title>${whatever.something()}</title>
你的布局中的

添加:

<title><g:layoutTitle/></title>

享受。

答案 1 :(得分:1)

尝试使用

<title><g:layoutTitle/></title>
布局中的

base-header-footer loggedin-header-footer.gsp )。 official documentation

中的更多信息