user1298426
user1298426

Reputation: 3717

flash.message does not print message on the screen in grails 2.x

My functionality is I have a list of users. When I click on any of the users to edit his information a new window pop up. I change some values and click on save. Now values are saved correctly but 'saved successfully' message is not displayed.

My controller code is

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

and in gsp I print message like this

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

Here Call does not go inside g:if condition hence message is not printed. This was working well in grails 1.3 but fails in 2.2. Why is that so?

Upvotes: 0

Views: 509

Answers (1)

emilan
emilan

Reputation: 13075

This example works for me. Maybe you have some validation errors, try to debug your code.

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

and in gsp

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

Upvotes: 1

Related Questions