Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Grails 收集和呈现公共数据_Grails_Groovy - Fatal编程技术网

Grails 收集和呈现公共数据

Grails 收集和呈现公共数据,grails,groovy,Grails,Groovy,收集公共数据(如侧边栏数据)的最佳/最干净的方法是什么。在我的应用程序中,我只有两组不同的数据,这取决于用户是否在项目中 我现在是这样做的: def dashboard = { def returnVal = getCommonSidebarContent() returnVal << getCommonHeaderContent() returnVal << [ //other data related to

收集公共数据(如侧边栏数据)的最佳/最干净的方法是什么。在我的应用程序中,我只有两组不同的数据,这取决于
用户是否在
项目中

我现在是这样做的:

def dashboard = {   
    def returnVal = getCommonSidebarContent()       
    returnVal << getCommonHeaderContent()
    returnVal << [
        //other data related to the main content of this particular page
        ]
    return returnVal
}   
def仪表板={
def returnVal=getCommonSidebarContent()
returnVal也许a可以帮助您:

class MyFilters {
    def filters = {
        all(controller: '*', action: '*') {
            after = { Map model ->
              model.myCommonProperty = ...
            }
        }
    }
}
在筛选器中,您可以在处理请求之前/之后执行通用操作(即,将通用数据添加到模型中)。在
all(controller:'*',action:'*')
中,您可以定义应由筛选器处理的操作(在这种情况下,所有controller中的所有操作都已处理)


另一种方法是在控制器中使用。如果您需要在单个控制器中执行常见操作,则可以使用此方法。

您应该为此类内容使用服务谢谢,这似乎是我想要的,我试试看。如果我使用
all(controller:'*',action:'*')
?我不确定,但我认为在重定向事件中也应该调用
after
方法。