将数据发送到“查看”,从“控制器”
问题描述:
在我的控制器类有下面的代码将数据发送到“查看”,从“控制器”
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。
谢谢我只是figuredit出来..你能帮助我的另一个查询..在上面,如果我有最高= 10以上的“def数据”,但在“def索引”hw传递这个值perPage选项?我尝试了“perpage max”,但会抛出错误? – Kay 2011-03-31 10:06:46
@Kay你可以发布这个作为一个单独的问题,我会尽力帮助 – 2011-03-31 10:14:20
@Kay:你必须在使用之前定义“最大”变量:def max = 10 – 2011-03-31 10:30:55