grails如何调试sitemesh包含

时间:2011-12-06 20:08:32

标签: grails

我有这条线:

  static layout = "loggedIn"

在一个控制器中,loggedIn.gsp布局用于此控制器中的视图。我在另一个控制器中包含了相同的行,但它不包含此布局,而是使用layouts文件夹中的main.gsp。关于如何解决这个问题的任何想法/弄清楚发生了什么?注意loggedIn.gsp在layouts文件夹中,由于某种原因它被第二个控制器忽略,其中包括完全相同的

  static layout = "loggedIn" 

线

2 个答案:

答案 0 :(得分:2)

我猜这个视图中有一个meta.layout属性。

布局按优先顺序触发:

  • meta.layout <meta name="layout" content="main"/>
  • 控制器上的静态'布局'属性
  • 控制器/动作约定:
    • /布局/ $ {控制器} / $ {动作} .gsp
    • / layouts / $ {controller} .gsp
  • 已配置grails.sitemesh.default.layout属性
  • /layouts/application.gsp

http://www.slideshare.net/laelfrog/grails-layouts-sitemesh(幻灯片19)

答案 1 :(得分:0)

事实证明我有一个残余:

  <meta name="layout" content="main" />

在第二个控制器的页面中,它会覆盖控制器内的静态布局设置。