Differences in Grails Messages

=Differences in messages and how messages work in Groovy on Grails:=

There are several different types of messages that can be used with groovy on grails and I will not pretend that I have a full understanding of how any of them work but I will explain what I have learned so far.

flash.message
flash.messages are displayed in many locations in grails and they work by populating the temporary variable 'flash'.messages for the 'next' request object. So what this actually means is that if you set a flash.message it will be visible through the next redirect; it will persist through one function call.

A  discussionon when to use flash.message

request.message
request.messages are supposed to be able to be set and then displayed once on the current page then are dropped from memory, but the general idea is they will go away prior to any redirects.

I first saw mention of  request.message's here.

error
This talks a bit about rendering error messages to the display.

Discussion:
Discussion on how messages have changed between grails 1.3.7 and grails 2.0  here.

Grails 1.3.7 way:
flash.message "${message(code: 'default.created.message', args: [message(code: 'issue.label', default: 'Issue'), issueInstance.id])}"

Grails 2.0 way:
flash.message = message(code:'default.created.message', args:[message(code:'issue.label',default:'Issue'), issueInstance.id])