可以通过Grails控制器选择布局吗?

mae*_*ics 5 grails layout

我正在构建一个CMS作为Grails的学习练习,并希望内容管理员能够在不同的HTML页面结构之间进行选择(例如2列,3列等).

Grails Layouts看起来像是一个合理的选择,但Grails控制器是否可以明确指出将用于渲染的布局?理想情况下,根据Ruby on Rails layout,该render方法有一个选项,但我没有看到类似的东西.

似乎可以applyLayout通过传递布局的名称来使用该方法,但这需要每个GSP页面显式请求布局(令人讨厌的每页开销),而不是使用按约定的布局.

有任何想法吗?

Ted*_*eid 5

为什么不在模型中传递它并将其呈现在确定布局的元标记中?

<meta name="layout" content="${myValueFromController}"/>
Run Code Online (Sandbox Code Playgroud)

我没试过,但我觉得它有用.


Bur*_*ith 3

我不知道如何按操作执行此操作,但您可以在控制器级别指定它,例如

class FooController {

   static layout = 'cms'

   def index = {}
   def foo = { ... }
   def bar = { ... }
}
Run Code Online (Sandbox Code Playgroud)