从“控制器”向“查看”发送数据

时间:2011-03-31 09:00:24

标签: grails groovy

在我的控制器类中有以下代码

class MyController {

    def flickrService

    def index = {
        def data = flickrService.search {
            tags 'tag,tag2,tag3'
            page 3
            perPage 14 // Look ma!
        }
        [urls:data.urls,page:data.page,pages:data.pages]
    }

}

我还创建了一个index.gsp文件。 因为我是groovy grails的新手 - 我无法弄清楚如何访问视图中flickrservice返回的数据。我可以在索引视图中访问上面定义的“数据”,还是需要在循环返回数据之前在控制器中设置它?任何帮助将受到高度赞赏。感谢

1 个答案:

答案 0 :(得分:5)

是的,现在您可以从视图中访问数据,例如,在index.gsp:

<html><head>Test</head><body>${urls} <br/> ${page} </body></html>

一般来说,grails默认返回函数中的最后一个值,所以如果你想访问许多数据,你可以这样做:

class MyController {

    def flickrService

    def index = {
        def data = ...
        def data1 = ...
        def data2 = ...

        // Here's the return result:
            [view_data:data,view_data1:data1, view_data2:data2]
    }

}

然后您可以在视图中访问$ {view_data},$ {view_data1},$ {view_data2}。