将数据发送到“查看”,从“控制器”

问题描述:

在我的控制器类有下面的代码将数据发送到“查看”,从“控制器”

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> 

一般说,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。

+0

谢谢我只是figuredit出来..你能帮助我的另一个查询..在上面,如果我有最高= 10以上的“def数据”,但在“def索引”hw传递这个值perPage选项?我尝试了“perpage max”,但会抛出错误? – Kay 2011-03-31 10:06:46

+0

@Kay你可以发布这个作为一个单独的问题,我会尽力帮助 – 2011-03-31 10:14:20

+1

@Kay:你必须在使用之前定义“最大”变量:def max = 10 – 2011-03-31 10:30:55