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.