是否有一种实用的方法来渲染修改的脚手架模板而无需在Grails 3中重新启动?

时间:2016-09-11 15:07:42

标签: grails scaffolding sitemesh

我添加了我认为会完成这项工作的代码,但看起来GrailsLayoutView会以某种方式干扰它。

我有一个包含以下代码的插件:

def watchedResources = "file:./src/main/templates/scaffolding/*.gsp"

void onChange(Map<String, Object> event) {
    applicationContext.getBean("jspViewResolver").innerViewResolver.generatedViewCache.clear()
}

这似乎符合我的预期,ScaffoldingViewResolver重新生成视图,而不是将其从缓存中拉出来。然后传递正确呈现的视图,但它看起来像GrailsLayoutView.renderTemplate调用obtainContent,它返回脚手架视图的原始内容而不是更新的内容。然后,它会在decorator.render的调用中使用错误的内容,并且所有希望看到更新的模板都会丢失。

对于熟悉此代码的任何人,我是否正确地解释了这个问题,你知道我可以通过某种方式解决这个问题吗?我有一些我想要处理的复杂的脚手架模板,但如果我每次做出更改都必须关闭grails,我会放弃它。

谢谢。

0 个答案:

没有答案