Front controller pattern
advantages, 149
centralized access mechanism, 149
class diagram, 150
controller component, 150
dispatcher component, 150
sequence diagram, 151
view component, 150
Functional languages, 3
Functions
JSP code, 127
output after invoking function, 127–128
public and static methods, 126
tag library descriptor (TLD ) file, 126–127
■ G
Grails. See Bookstore application
domain relationship
adit author screen, 353
author class, 348
author List screen, 350
book list screen, 351–352
book screen, 353–354
editing author, 352
list of authors, 350
many-to-many relationship, 349
one-to-many relationship, 347–348
validation error, 351
welcome screen, 349
features
convention over configuration, 300
integrated open source, 301
ORM, 300
platform, 300
plug-in architecture, 301
scaffolding, 300
unit testing, 301
H2 console
H2 console window, 345
login screen, 345
querying table, 347
hello world application
command, 302
console, 303
create-controller command, 303
index action modification, 303
interactive console, 303
welcome screen, 304
installation, 302
overview, 299
scaffolding, 325 (see also
Static scaffolding)
Groovy, 2
array, 410
closures. (see Closures)
diamond operator, 422
dollar slashy strings, 408
elvis operator, 419
field operator, 421
GroovyConsole, 402
GroovyShell, 401
GStrings, 405
hello world program, 400
installation, 399
lists, 410
maps, 411
method closure operator, 421
methods, 414
multiline slashy strings, 407
multiline string, 406
ranges, 412
safe navigation/dereference
operator, 420
sets, 414
single-line strings, 405
slashy strings, 407
spread operator, 419
GroovyConsole, 402
Groovy Server Pages (GSP), 337
GroovyShell, 401
GStrings, 405
■ H
H2 console
H2 console window, 345
login screen, 345
querying table, 347
HelloWorld Java application
compilation, 13
entry-point class, 12
Higher-order functions, 415
Hypertext transfer protocol (HTTP), 43
Index 439