Passer des objects avec redirect
Salut tout le monde !
Je découvre Grails depuis deux trois jours, et j'aimerais, lors d'une redirection, passer une liste d'objets en paramètres, ce que je fais via params.
Et pourtant, lorsque je récupère ma liste d'objets dans la page d'après, elle m'apparait en tant que String. Comme j'avais entendu parler avec d'autres frameworks d'une histoire de sérialization, j'ai implémenté l'interface sur la classe sans que ça change quoi que ce soit.
Voici mon code. La closure rechercherProfil effectue une redirection vers le controleur Recherche, qui possède sa propre vue (d'ailleurs la vue marche bien, mais affiche les mauvais résultats, forcément). Et je suis loin d'être sûr de l'efficience de la première ligne de la closure list de RechercheController.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| class ProfilController {
def scaffold = Profil;
def rechercherProfil = {
def results = Profil.findAllByFirstNameOrLastName(params.rechercheNomProfil, params.rechercheNomProfil);
println("nombre de résultats : " + results.size())
println("classe de results : " + results.class)
results.each{
println it
}
redirect(controller:"recherche", action:"list", params:["resultsList":results])
}
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| class RechercheController {
def index ={}
def list = {
params.max = Math.min(params.max ? params.int('max') : 10, 100)
def resultsInstanceList = params.getAt("resultsList")
println("classe de resultsInstanceList : " + resultsInstanceList.class)
redirect(controller:"profil", action:list")
}
} |
Merci d'avance.
Au fait, connaissez vous un bon endroit pour la doc groovy ? Je n'ai pas encore trouvé.