Grails Basic

Print the objectives

  Take a beta test

This exam covers basic skills needed to develop simple web applications using Grails. The main objective of this exam is to ensure knowledge of basic Grails MVC components. The knowledge you gain during exam preparation should let you understand auto-generated Grails code from the the static scaffolding.

References:

  Released  Beta  Frozen  

Model: Domain Classes and basic GORM  6 questions

  • create domain classes with grails create-domain-class command
  • specify constraints on domain classes using standard validators (e.g. blank, email, size)
  • write code to validate domain objects and use the errors property to get validation errors
  • write code to execute basic CRUD operations (save(), get(), list() and delete())
  • define transient properties in domain classes
  • define relationships using belongsTo and hasMany properties
  • define collection types using hasMany property

Not covered: embedded objects, DB mapping customization, domain objects testing, advanced GORM

15 38 0

Controllers  6 questions

  • use grails create-controller command to create a controller
  • understand how Grails picks a default action in a controller
  • using params object, write code to retrieve request parameters
  • for the following scopes: request, flash, session and servletContext write code to pass attributes in a Grails application
  • use actions to trigger view rendering with model data
  • redirect a request from one action to another
  • understand data binding

Not covered: command objects, multipart request handling, interceptors, controller testing

6 43 0

Views: GSPs  6 questions

  • write simple GSP pages that use the correct syntax (prefer GSP expressions to Groovy scriptlets)
  • write GSP code using predefined variables: application, flash, out, params, request, response, session
  • Use built-in Grails tags:
    • variables setting: g:set
    • logic: g:if, g:elseif, g:else
    • iteration: g:each, g:while, g:collect, g:findAll
    • linking: g:link, g:createLink, g:resource
    • forms: g:form, g:textField, g:textArea, g:passwordField, g:checkBox, ** ** g:radio, g:select, g:submitButton
    • error handling: g:hasErrors, g:renderErrors
    • pagination: g:paginate

Not covered: dynamic tags, GSP templates, custom tags

6 29 0

Scaffolding  1 question

  • understand the concept of scaffolding
  • explain the difference between dynamic scaffolding and static scaffolding
8 5 0

Command Line  1 question

  • generate project structure using grails create-app command
  • run an application in the quick iterative development mode using grails run-app command
  • use grails war command to create a WAR file
  • understand the difference between grails war and grails run-war commands
  • run unit and integration tests using grails test-app command
2 17 0

Exam information

  • 30 minutes
  • 20 questions (169)
  • 80% required
  • +3 √
  • - 12  points
  • 15 day delay
  • status: under construction