如何将相同的值传递给Grails中的每个视图

时间:2014-07-24 06:49:02

标签: grails groovy

我有一个列表,我需要传递给Grails中的每个视图。如何以干净的方式做到这一点? 我显然可以在每个动作中将它传递给渲染,但它似乎不是干净的解决方案。

问候。

2 个答案:

答案 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']
            }
        }
    }
}