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>

这里的调用不会进入 g:if 条件,因此不会打印消息。这在 grails 1.3 中运行良好,但在 2.2 中失败。为什么会这样?

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

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

和普惠制

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

相关内容

  • 没有找到相关文章

最新更新