... amazon-a3s-*-java-library.jar file into your project
lib directory.
4. Copy the required dependencies commons-codec- 1-3 .jar and commons-httpclient-
3.0.1.jar from the third-party/jakarta-commons directory to your project’s ... INTERNATIONALIZATION
Figure 7-1 . The grails- app/i18n/ directory
The messages.properties file in the grails- app/i18n/ directory contains default...
... plugin, you need to install the simple-cache plu-
gin that the album-art plugin is dependent on into the gTunes application:
$ grails install-plugin /simple-cache /grails- simple-cache-0.1.zip
With ... Listing 1 4- 5 1 that if the User does have access to the
Album, then a “Back to My Music” link is displayed instead, allowing the user to navigate easily
back to the...
... 206
The Definitive Guide
to Grails
Second Edition
■■■
Graeme Rocher and Jeff Brown
CHAPTER 1 ■ THE ESSENCE OF GRAILS
3
Figure 1-1 . The Grails stack
Grails, the Platform
When approaching Grails, ... 97 8-1 -5 905 9-9 9 5-2
ISBN-10 (pbk): 1-5 905 9-9 9 5-0
ISBN-13 (electronic): 97 8-1 -4 3 0 2-0 87 1-6
Printed and bound in the United States o...
... relates to associations. The easiest
case to understand is many -to- one and one -to- one associations. For example, consider the
artist property of the Album class, which is a many -to- one association, ... all the information that Grails needs to carry out the redirect, includ-
ing the name of the action to redirect to. In addition, the map can contain the nam...
... based on the supplied
attributes, which include the following:
• controller: The controller name to link to
• action: The action name to link to
• id: The identifier to append to the end of the URI
• ... that done, it’s time to put the LoginCommand to use by implementing the login action
in the UserController. Listing 4- 5 8 shows the code for the lo...
... how the name of the view to transition to is the return value of the closure passed
to the to method. In other words, the following three examples are equivalent, with each tran-
sitioning to the ... a way to dynamically specify the state to transition to, and luck-
ily Grails Web Flow support allows dynamic transitions by using a closure as an argument to
t...
... representations of the Album class in the second- level cache.
Listing 1 0 -4 5. How the Second- Level Cache Stores Data
9 -& gt; ["Odelay",19 94, "Alternative", 9.99, [ 34, 35,36], 4]
5 -& gt; ... the first-level cache. Although the first-level cache stores actual persistent instances for
the scope of the Session, the second- level cache exists...
... 'text/javascript',
]
To tell Grails to handle other types beyond the preconfigured ones, you need to add a new
entry into the grails. mime.types map where the key is the file extension of the format typically ... }
12 }
13 else {
14 response.sendError 40 4
15 }
16 }
17
18 }
The code in Listing 1 5-6 shows how to handle a request when the URL mappin...
... this a many -to- many relationship.
Figure 1 7-3 . How Grails maps a many -to- many association
You can change the way a many -to- many association maps onto the underlying database
using the same joinTable ... in Listing 1 7 -4 maps the artist property to a column called R_CREATOR_ID.
A one -to- many association requires a little more thought. First you need to consider wh...