flash.message不会在grails 2.x中在屏幕上打印消息

时间:2013-10-15 12:17:21

标签: grails grails-2.0 grails-2.2 grails-2.1

我的功能是我有一个用户列表。当我点击任何用户编辑他的信息时,会弹出一个新窗口。 我更改了一些值并单击“保存”。现在值已正确保存,但未显示“已成功保存”消息。

我的控制器代码是

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>

此处呼叫不在g内:如果条件因此消息未打印。 这在grails 1.3中运行良好,但在2.2中失败。为什么会这样?

1 个答案:

答案 0 :(得分: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>