grails - 有没有像 Grails 那样的 Django 上下文处理器?

标签 grails

我想输出一个在所有模板甚至 Grails 布局中都是全局的值,例如 Django 的上下文处理器,您可以在其中渲染上下文并将其用作模板中的全局变量。

Grails中有这样的概念吗?而且,我如何在布局中使用它?

最佳答案

我对 Django 一点也不熟悉。在 google 中查找了 Django 的上下文处理器,我想我明白了。基本上,它配置了注入(inject)每个模板的可重用数据?无论如何,据我所知,Grails 中不存在这样的东西。您可以尝试以下方法作为解决方法。

使用 ApplicationContext

每个 View 都可以访问 applicationContext。因此,创建一个包含您需要的所有数据的服务,假设它称为 fooService,而您想要的数据项是服务中名为 bar 的字段(当然也可以是一个方法)。然后在您的 View 中执行 ${applicationContext.fooService.bar}。 View 中访问applicationContext的资源:http://mrhaki.blogspot.com/2011/11/grails-goodness-get-grailsapplication.html .

使用您的布局

我不确定这个,所以使用风险自负。最上面的当然是非常冗长的。在不同的 View 中一遍又一遍地调用它会很烦人。因此,只需调用一次并使用 g:set 将其设置为布局中的变量。我认为该变量将在使用该布局的每个 View 中都可用....但不确定。这是 g:set -> http://grails.org/doc/latest/ref/Tags/set.html 的文档.

如果我没有得到上下文处理器在 python 中的作用,我很乐意再试一次......

关于grails - 有没有像 Grails 那样的 Django 上下文处理器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9204150/

相关文章:

grails - 如何在现有Java EE应用程序上开始使用GRAILS?

javascript - 使用grails生成html id的最佳实践

forms - Grails- <g:formRemote>发送请求,尽管表单无效

tomcat - 如何将日志从 grails 应用程序发送到单独的文件

sql - 将列表传递给SQL每行调用Groovy

servlets - Grails app.servlet.version还是grails.servlet.version?

grails - 无法在Grails中使用ArrayList类型在域类中创建字段

grails - 找不到Spring Security UI注册代码表

regex - Grails-从外部属性文件中读取正则表达式

grails - 如何在集成测试中与其余客户端共享Spring Security session