我有一个列表,我需要传递给Grails中的每个视图。如何以干净的方式做到这一点? 我显然可以在每个动作中将它传递给渲染,但它似乎不是干净的解决方案。
问候。
答案 0 :(得分:3)
您可以定义简单的自定义filter并将您的列表添加到params
地图:
class MyCustomFilter {
def filters = {
all(controller:'*', action:'*') {
before = {
params.list = [1, 2, 3]
return true
}
}
}
}
params
地图可在所有控制器中使用。
答案 1 :(得分:2)
这样的事情应该有效:
// grails-app/conf/MyCustomFilters.groovy
class MyCustomFilters {
def filters = {
all(controller:'*', action:'*') {
// this is executed after the controller action and before the view is rendered
after = { Model model ->
model?.listOfNames = ['Jeff', 'Betsy', 'Jake', 'Zack']
}
}
}
}