【问题标题】:How to create reusable layouts and scaffolding templates in Grails 3.x如何在 Grails 3.x 中创建可重用的布局和脚手架模板
【发布时间】:2016-01-09 00:26:07
【问题描述】:

我对 Grails 还很陌生,很难找到这方面的信息。我来自 CakePHP,您可以轻松地创建一个插件来为您的应用程序设置主题,我正在尝试在 Grails 中复制这种设置。

我想创建可重复使用的布局和脚手架模板,以便我使用 Grails 创建的所有应用程序都具有共同的外观和感觉。我已经在一个 Grails 应用程序中成功地自定义了布局和脚手架模板,并且正在探索将其打包成一个可以导入另一个项目的插件,但我还没有设法完成这项工作(我确实打包了插件并将其导入另一个项目,但是我似乎无法弄清楚如何从应用程序访问插件的布局和脚手架模板)。

实现这一目标的最佳方法是什么?将其打包为插件是一个好主意,还是我应该简单地覆盖 Grails 的默认主布局并在每个项目中导入我自己的脚手架模板?

如果走插件路线是个好方法:

  1. 如何应用我的插件的布局和脚手架模板 应用
  2. 我想在插件中创建一个“帮助页面” 可从主应用程序访问(仅限开发人员)。这个页面将 使我能够确认布局工作正常并且会 还为其他开发人员提供使用此插件的说明 如何使用插件的模板。如何访问网页 从插件通过我的 Grails 应用程序?

如果该插件不是要走的路,你有什么推荐的?

【问题讨论】:

    标签: templates grails grails-plugin grails-3.0


    【解决方案1】:

    是的,插件是一个很好的方法。我将简单地引用documentation

    当插件提供控制器时,它也可能提供默认视图 被渲染。这是模块化你的一个很好的方法 通过插件应用。 Grails 的视图解析机制将 首先在安装它的应用程序中查找视图,如果 失败将尝试在插件中查找视图。 这 意味着您可以通过创建覆盖插件提供的视图 应用程序的 grails-app/views 目录中对应的 GSP。

    例如,考虑一个名为 BookController 的控制器,它是 由“亚马逊”插件提供。如果正在执行的动作是列表, Grails 将首先寻找一个名为 grails-app/views/book/list.gsp 然后如果失败,它将寻找 相对于插件的相同视图。

    基本上,您可以通过访问插件的视图来访问它们,就像视图在应用程序本身中一样。

    【讨论】:

    • 谢谢!在发布我的问题后,我设法走得更远。我将插件的主布局模板重命名为其他内容,并且能够通过在应用程序中使用新名称来访问它(这基本上是您在上面描述的内容的演示)。然后我意识到我无法访问我的插件的帮助页面,因为应用程序的 URLmapping 覆盖了我插件中的那个(没有路由到我的网页)。我现在应该可以走得更远了……
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-13
    • 2014-08-16
    • 2012-04-09
    • 1970-01-01
    • 1970-01-01
    • 2015-12-05
    相关资源
    最近更新 更多