Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Standard view
Full view
of .
Look up keyword or section
Like this

Table Of Contents

1. Introduction
2. Getting Started
2.1 Downloading and Installing
2.2 Upgrading from previous versions of Grails
2.3 Creating an Application
2.4 A Hello World Example
2.5 Getting Set-up in an IDE
2.6 Convention over Configuration
2.7 Running an Application
2.8 Testing an Application
2.9 Deploying an Application
2.10 Supported Java EE Containers
2.11 Generating an Application
2.12 Creating Artefacts
3. Configuration
3.1 Basic Configuration
3.1.1 Built in options
3.1.2 Logging
3.3 The DataSource
3.3.1 DataSources and Environments
3.3.2 JNDI DataSources
3.3.3 Automatic Database Migration
3.3.4 Transaction-aware DataSource Proxy
3.4 Externalized Configuration
3.5 Versioning
3.6 Project Documentation
3.7 Dependency Resolution
3.7.1 Configurations and Dependencies
3.7.5 Providing Default Dependencies
3.7.6 Dependency Reports
3.7.7 Plugin JAR Dependencies
3.7.8 Maven Integration
3.7.9 Deploying to a Maven Repository
3.7.10 Plugin Dependencies
4. The Command Line
4.1 Creating Gant Scripts
4.2 Re-using Grails scripts
4.3 Hooking into Events
4.4 Customising the build
4.5 Ant and Maven
5. Object Relational Mapping (GORM)
5.1 Quick Start Guide
5.1.1 Basic CRUD
5.2 Domain Modelling in GORM
5.2.1 Association in GORM Many-to-one and one-to-one One-to-many Many-to-many Basic Collection Types
5.2.2 Composition in GORM
5.2.3 Inheritance in GORM
5.2.4 Sets, Lists and Maps
5.3 Persistence Basics
5.3.1 Saving and Updating
5.3.2 Deleting Objects
5.3.3 Understanding Cascading Updates and Deletes
5.3.4 Eager and Lazy Fetching
5.3.5 Pessimistic and Optimistic Locking
Optimistic Locking
5.3.6 Modification Checking
5.4 Querying with GORM
5.4.1 Dynamic Finders
5.4.2 Criteria
5.4.3 Hibernate Query Language (HQL)
5.5 Advanced GORM Features
5.5.1 Events and Auto Timestamping
5.5.2 Custom ORM Mapping Table and Column Names Caching Strategy Inheritance Strategies Custom Database Identity Composite Primary Keys Database Indices Optimistic Locking and Versioning Eager and Lazy Fetching Custom Cascade Behaviour Custom Hibernate Types Derived Properties Custom Naming Strategy
5.5.3 Default Sort Order
5.6 Programmatic Transactions
5.7 GORM and Constraints
6. The Web Layer
6.1 Controllers
6.1.1 Understanding Controllers and Actions
6.1.2 Controllers and Scopes
6.1.3 Models and Views
6.1.4 Redirects and Chaining
6.1.5 Controller Interceptors
6.1.6 Data Binding
6.1.7 XML and JSON Responses
6.1.8 More on JSONBuilder
6.1.9 Uploading Files
6.1.10 Command Objects
6.1.11 Handling Duplicate Form Submissions
6.1.12 Simple Type Converters
6.2 Groovy Server Pages
6.2.1 GSP Basics Variables and Scopes Logic and Iteration Page Directives Expressions
6.2.2 GSP Tags Variables and Scopes Logic and Iteration Search and Filtering Links and Resources Forms and Fields Tags as Method Calls
6.2.3 Views and Templates
6.2.5 Sitemesh Content Blocks
6.2.6 Making Changes to a Deployed Application
6.2.7 GSP Debugging
6.3 Tag Libraries
6.3.1 Variables and Scopes
6.3.2 Simple Tags
6.3.3 Logical Tags
6.3.4 Iterative Tags
6.3.5 Tag Namespaces
6.3.6 Using JSP Tag Libraries
6.3.7 Tag return value
6.4.1 Mapping to Controllers and Actions
6.4.2 Embedded Variables
6.4.3 Mapping to Views
6.4.4 Mapping to Response Codes
6.4.5 Mapping to HTTP methods
6.4.6 Mapping Wildcards
6.4.7 Automatic Link Re-Writing
6.4.8 Applying Constraints
6.4.9 Named URL Mappings
6.5.1 Start and End States
6.5.2 Action States and View States
View states
6.5.3 Flow Execution Events
6.5.4 Flow Scopes
6.5.5 Data Binding and Validation
6.5.6 Subflows and Conversations
6.6.1 Applying Filters
6.6.2 Filter Types
6.6.3 Variables and Scopes
6.6.4 Filter Dependencies
6.7.1 Ajax using Prototype Remoting Linking Updating Content Remote Form Submission Ajax Events
6.7.2 Ajax with Dojo
6.7.3 Ajax with GWT
6.7.4 Ajax on the Server
6.8 Content Negotiation
7. Validation
7.1 Declaring Constraints
7.2 Validating Constraints
7.3 Validation on the Client
7.4 Validation and Internationalization
8.3 Dependency Injection and Services
8.4 Using Services from Java
9. Testing
9.2 Integration Testing
9.3 Functional Testing
10.1 Understanding Message Bundles
10.2 Changing Locales
10.3 Reading Messages
10.4 Scaffolding and i18n
11.1 Securing Against Attacks
11.2 Encoding and Decoding Objects
11.3 Authentication
11.4 Security Plug-ins
11.4.1 Spring Security
12.1 Creating and Installing Plug-ins
12.2 Plugin Repositories
12.3 Understanding a Plug-ins Structure
12.4 Providing Basic Artefacts
12.5 Evaluating Conventions
12.6 Hooking into Build Events
12.7 Hooking into Runtime Configuration
12.8 Adding Dynamic Methods at Runtime
12.9 Participating in Auto Reload Events
12.10 Understanding Plug-in Load Order
12.11 Excluding plugins from the WAR and other tricks
13.3 RSS and Atom
14. Grails and Spring
14.1 The Underpinnings of Grails
14.2 Configuring Additional Beans
14.3 Runtime Spring with the Beans DSL
14.4 The BeanBuilder DSL Explained
14.5 Property Placeholder Configuration
14.6 Property Override Configuration
15. Grails and Hibernate
15.1 Using Hibernate XML Mapping Files
15.2 Mapping with Hibernate Annotations
15.3 Adding Constraints
15.4 Further Reading
17. Deployment
0 of .
Results for:
No results containing your search query
P. 1
Grails Tutorial

Grails Tutorial

Ratings: (0)|Views: 201|Likes:
Published by mezal
Grails tutorial
Grails tutorial

More info:

Published by: mezal on Oct 18, 2013
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less





You're Reading a Free Preview
Pages 5 to 38 are not shown in this preview.
You're Reading a Free Preview
Pages 43 to 133 are not shown in this preview.
You're Reading a Free Preview
Pages 138 to 173 are not shown in this preview.
You're Reading a Free Preview
Pages 178 to 186 are not shown in this preview.
You're Reading a Free Preview
Pages 191 to 236 are not shown in this preview.

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->