如何在 Grails 3 中更改每个插件的编解码器?
Posted
技术标签:
【中文标题】如何在 Grails 3 中更改每个插件的编解码器?【英文标题】:How to change per-plugin codec in Grails 3? 【发布时间】:2017-12-09 15:22:24 【问题描述】:虽然我知道这不是“最佳实践”,但我有很多旧插件要升级到 Grails 3,我需要将它们的 GSP 编码设置回旧的默认值“无”(因为所有已经在需要的地方进行了编码,我们希望在其他地方没有编码的数据。)不幸的是,这似乎不适用于文档。
Grails 3.2.11 文档说:
每个插件编码
Grails 还具有控制基于每个插件使用的编解码器的能力。例如,如果您安装了一个名为 foo 的插件,那么在 application.groovy 中放置以下配置将仅禁用 foo 插件的编码
foo.grails.views.gsp.codecs.expression = "none"
这不起作用,使用 Grails 3.2.11。编码仍然是“html”。
我尝试过的其他方法也不起作用:
只需将插件的 application.yml 更改为默认值(这对我来说似乎是理想的,并且是我最初期望控制插件编码的方式) runtime.groovy 中的同一行 同一行,在插件的 plugin.groovy 中 应用程序和插件的 application.yml 中的前缀概念相同 根据How can I exclude a plugin from grails default gsp encoding? 中的建议进行更改我非常愿意把它写成一个 Grails 错误,但我想我会先在这里问一下,以防其他人已经解决了这个问题!
提前致谢!
【问题讨论】:
今天打开github.com/grails/grails-core/issues/10722。 【参考方案1】:请参阅链接的 grails 问题以获取答案;简短的版本是:
所有编解码器必须有效,否则由于编解码器处理中抛出异常而使用默认值 插件应该在发布前清理干净,否则预编译的 gsps 可能仍然使用以前的编解码器【讨论】:
以上是关于如何在 Grails 3 中更改每个插件的编解码器?的主要内容,如果未能解决你的问题,请参考以下文章