Chapter 1. Grails in a hurry . . .
Figure 1.1. The Grails ecosystem is a powerful confluence of people, ideas, and technology.
Figure 1.2. The Grails installation process
Figure 1.3. Your app is up and running.
Figure 1.4. How URLs translate to Grails objects
Figure 1.5. Adding your functionality
Figure 1.6. Your view in action
Figure 1.7. SiteMesh decorates a raw GSP file with a standard set of titles and sidebars.
Figure 1.8. QOTD with some funky CSS skinning
Figure 1.9. The Grails console lets you run commands from a GUI.
Figure 1.10. Your random quote feature in action
Figure 1.11. The index() scaffold in action
Figure 1.12. Adding a quote has never been easier.
Figure 1.13. When constraints are violated, error messages appear in red.
Figure 1.14. HTML reports from the unit test run
Figure 1.15. Your Ajax view in action
Chapter 2. The Groovy essentials
Figure 2.1. The base Groovy exception class hierarchy
Figure 2.2. An example of duck typing
Chapter 3. Modeling the domain
Figure 3.1. The Hubbub we’re heading toward
Figure 3.2. The basic Hubbub data model demonstrates the most used relationship types.
Figure 3.3. Early screen designs for the Hubbub UI
Figure 3.4. The newly created Hubbub application
Figure 3.5. You can open the test report in your browser.
Figure 3.6. Each User object has an optional Profile object.
Figure 3.7. Each User can have zero to many Post objects.
Figure 3.8. A tricky many-to-many scenario between Users, Posts, and Tags