2013-10-15 39 views
0

我的功能是我有一个用户列表。当我点击任何用户编辑他的信息时,会弹出一个新窗口。 我改变了一些值,然后点击保存。现在值已正确保存,但“已成功保存”消息未显示。flash.message不会在grails中的屏幕上打印消息2.x

我的控制器代码是

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

和GSP我打印消息这样

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

这里呼叫没有内部克:如果条件因此不印刷信息。 这在grails 1.3中运行良好,但在2.2中失败。为什么?

+1

你试过''? –

+0

是的,我试过,但flash.userInstance为空 – user1298426

+0

hmmm在'flash.userInstance = user'之前放置一个println。你的流程打印了用户? –

回答

1

这个例子适合我。也许你有一些验证错误,尝试调试你的代码。

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

和GSP

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