2013-10-15 38 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>