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

我的 Controller 代码是

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>

此处Call不会进入g:if条件,因此不会打印消息。
在grails 1.3中运行良好,但在2.2中失败。为什么呢?

最佳答案

这个例子对我有用。也许您有一些验证错误,请尝试调试代码。

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>

关于grails - 在grails 2.x中,flash.message不会在屏幕上显示消息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19381038/

10-13 05:19