2017-01-30 1 views
1

J'ai une application Grails, avec un contrôleur comme -ne peut pas voir la valeur passée du contrôleur Grails en vue

def query = { 

def options = ['X', 'Y', 'Z'] 

if (some criteria matches) { 
    render(view: "queryws", model: [opts: options]) 
} 
} 

Dans mon gsp, je suis en train de récupérer valeur -

<tr> 
<td><label for="env">Options:</label></td> 
<td><g:select name="env" 
from="${opts.list()}" id="select" 
value="${params.env}" /></td> 
</tr> 
+0

Voulez-vous dire que vous ne voyez pas 'params.env'? Vous passez seulement 'opts' dans votre modèle. – doelleri

+0

Non, je ne vois pas les "opts" dans le menu déroulant. – zooes

+1

Essayez simplement 'from =" $ {opts} "' à la place de cet appel '.list()'. – doelleri

Répondre

0

il n'y a pas env est passé de contrôleur. imprimer la ${opts} est en page gsp. si est un tableau, alors il fonctionnera .. par exemple

<g:select name="env" from="${['X', 'Y', 'Z']}" 
      value="" /> 
+0

Je ne veux pas remplir la liste dans la GSP, mais j'ai besoin de la transmettre au moment de l'exécution. Par conséquent, cela ne fonctionnera pas - = = $ {['X', 'Y', 'Z']} – zooes