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>

Здесь Call не идет внутрь g: если условие, следовательно, сообщение не печатается. Это работало хорошо в Grails 1.3, но не работает в 2.2. Почему это так?

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>
Другие вопросы по тегам