IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Grails Java Discussion :

Création de listes déroulantes


Sujet :

Grails Java

  1. #1
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 68
    Points : 40
    Points
    40
    Par défaut Création de listes déroulantes
    Bonjour à tous,

    Juste avant de vous exposer mon problème, est-ce qu'un administrateur pourrait déplacer cette discution dans le forum Grails?
    Il m'est impossible de créer quoi que ce soir dans ce forum, le système me logout. Etrange...
    Merci d'avance.

    Voici quelques semaines que je m'intéresse à Grails, j'ai fait quelques tuto avec succès, et je me suis acheté le livre "Beginning Groovy and Grails".
    Très intéressant.
    J'ai suivi la création de la petite application de démonstration jusqu'au chapitre 5 et voici que je butte sur un problème, à l'apparence basique, mais qui me cause pas mal de sueurs froides.

    J'ai créé une classe User:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    class User {
     
        String userName
        String firstName
        String lastName
     
        static hasMany = [todos: Todo, categories: Category]
     
        static constraints = {
            userName(blank:false, unique:true)
            firstName(blank:false)
            lastName(blank:false)
        }
     
        String toString(){
            "$lastName, $firstName"
        }
    }
    Simple et assez logique. Pas de soucis de ce côté là, j'ai aussi créé un controller.

    Lorsque dans ma page .gsp, j'essai d'insérer une drop-down list:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <g:select name="userName" from="${User.list()}" optionKey="userName" optionValue="userName"></g:select>
    Voici le message d'erreur qui me pête entre les doigts à chaque fois.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Error 500: 
    Servlet: default
    URI: /collab-todo/user/login
    Exception Message: Cannot invoke method list() on null object 
    Caused by: Error evaluating expression [User.list()] on line [22]: Cannot invoke method list() on null object 
    Class: C:/Documents and Settings/Administrator/My Documents/NetBeansProjects/collab-todo/grails-app/views/user/login.gsp 
    At Line: [22] 
    Code Snippet:
    21: </span>
    22: <g:select name="userName" from="${User.list()}" optionKey="userName" optionValue="userName">
    23: </g:select>
    Pourtant j'ai créé deux users dans le BootStrap.groovy et ils s'affichent correctement dans la page principale créée automatiquement par Grails.

    Il me semble, selon ce que j'ai lu, que la fonction list() est fournie par groovy et qu'il n'y a rien de spécial à faire, non?

    Faut-il lier ma .gsp à la class User?
    Quelqu'un a t'il une idée?

    Merci d'avance pour votre aide.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 35
    Points : 36
    Points
    36
    Par défaut
    bonjour,

    à première vue le code est correcte, pourrais tu nous fournir les sources de ton application de test pour voir de plus près.

    Merci
    Nabil

  3. #3
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 68
    Points : 40
    Points
    40
    Par défaut
    Bonjour,

    Merci pour votre réponse, mais j'ai réussi à résoudre mon problème.
    Voici la solution (j'avais oublié le nom du package):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <g:select name="userName" from="${collab.todo.User.list()}" optionKey="userName" optionValue="userName"></g:select>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Création de listes déroulante fonction d'une valeur
    Par toutoune60 dans le forum Excel
    Réponses: 3
    Dernier message: 11/04/2008, 11h11
  2. Réponses: 3
    Dernier message: 07/05/2007, 12h24
  3. [Oracle] Création de liste déroulante
    Par CYCLOPE91440 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 14/12/2006, 16h25
  4. Réponses: 2
    Dernier message: 04/06/2006, 21h35
  5. [PHP-JS] Création de liste déroulante dynamique
    Par eeckhout dans le forum Langage
    Réponses: 2
    Dernier message: 28/02/2006, 13h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo