Grails 将数据发送到";“视图”;从「;控制员;

Grails 将数据发送到";“视图”;从「;控制员;,grails,groovy,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

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

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返回的数据。我可以只访问上面在索引视图中定义的“数据”吗?或者我需要在控制器中设置它,然后才能循环返回的数据?任何帮助都将不胜感激。谢谢

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

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

然后,您可以访问视图中的${view\u data}、${view\u data1}、${view\u data2}。

谢谢,我刚刚找到了。。你能帮我再问一个问题吗。。在上面,如果我在“def数据”上方但在“def索引”hw内有max=10,则将此值传递给每个页面选项??我试过“perpage max”,但出现了一个错误?@Kay你能把这个问题作为一个单独的问题发出来吗?我会尝试的help@Kay:必须先定义“max”变量,然后才能使用:def max=10@Long .. 也许是的,但我确实试过params.max,它起了作用(max只是不起作用)谢谢you@Kay:您可以使用params.max,因此max已在请求的params中设置。我认为您应该参考6.1.2中的链接,以便更清楚地理解问题。
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]
    }

}