2013-10-15 3 views
0

Ma fonctionnalité est J'ai une liste d'utilisateurs. Lorsque je clique sur l'un des utilisateurs pour modifier ses informations, une nouvelle fenêtre apparaît. Je change certaines valeurs et je clique sur sauvegarder. Maintenant, les valeurs sont sauvegardées correctement mais le message 'sauvegardé avec succès' ne s'affiche pas.flash.message n'imprime pas de message à l'écran dans grails 2.x

Mon code de contrôleur est

if(user.save(flush:true)){ 
    user.messages = "${message(code: 'user.saved')}" 
    flash.userInstance = user 
    render ... 
} 

et gsp j'imprimer un message comme celui-ci

<div id="messages"> 
     <g:if test="${userInstance?.messages}"> 
      <div class="message">${userInstance?.messages}</div> 
     </g:if> 
<div> 

Ici appel ne va pas à l'intérieur g: si l'état d'où un message n'est pas imprimé. Cela fonctionnait bien dans les grails 1.3 mais échoue dans 2.2. Pourquoi est-ce si?

+1

Avez-vous essayé ''? –

+0

oui j'ai essayé mais flash.userInstance est null – user1298426

+0

hmmm mettre un println avant 'flash.userInstance = user'. Votre flux a imprimé l'utilisateur? –

Répondre

1

Cet exemple fonctionne pour moi. Peut-être que vous avez des erreurs de validation, essayez de déboguer votre code.

if(user.save(flush:true)){ 
     user.messages = "${message(code: 'user.saved')}" 
     flash.userInstance = user 
     render ... 
} 

et gsp

<div id="messages"> 
    <g:if test="${flash?.userInstance?.messages}"> 
     <div class="message">${flash?.userInstance?.messages}</div> 
    </g:if> 
<div> 
Questions connexes