2011-03-31 2 views
3

Dans ma classe de contrôleur ont le code suivantEnvoi de données à « View » de « contrôleur »

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] 
    } 

} 

J'ai aussi créé un fichier index.gsp. Comme je suis nouveau sur les grails groovy - je ne pouvais pas comprendre comment accéder aux données retournées par flickrservice dans la vue. Puis-je simplement accéder aux «données» définies ci-dessus dans la vue d'index ou dois-je les définir dans le contrôleur avant de pouvoir parcourir les données renvoyées? Toute aide serait très appréciée. Merci

Répondre

5

Oui, vous pouvez maintenant accéder à des données de la vue, par exemple, dans index.gsp:

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

En général, en disant: Grails retourne la dernière valeur en fonction par défaut, donc si vous voulez accéder beaucoup de données, vous pouvez faire comme ceci:

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] 
    } 

} 

vous pouvez accéder $ {} view_data $ {} view_data1 $ {} view_data2 en vue.

+0

Merci je viens de figuré .. Pourriez-vous m'aider avec une autre requête .. ci-dessus si j'ai max = 10 au-dessus des "données def" mais à l'intérieur "def index" hw pour passer cette valeur à perPage option ?? J'ai essayé "perpage max" mais jette une erreur? – Kay

+0

@Kay pouvez-vous poster ceci comme une question séparée et je vais essayer d'aider –

+1

@Kay: vous devez définir la variable "max" avant d'utiliser: def max = 10 –

Questions connexes