helper, 156
sequence diagram, 157
view helper, 151–152
Diamond operator (<>), 422
DispatcherServlet, 228
Dispatcher view pattern
class diagram, 153
dispatcher, 154
front controller, 154
helper, 154
sequence diagram, 154–155
view, 154
Dollar slashy strings, 408
Dot operator, 117–118
Dynamic scaffolding
book list view, 325
edit view, 327–328
enabled BookController, 325
list view, 329
show view, 327
updated message, 328
validation, 326
view creation, 327
Dynamic typing, 2
Dynamic web pages, 4
■ E
Elvis operator (?:), 419
Encapsulation, 389
Entropy, 106
Expression Language (EL)
accessing parameters/headers/cookies, 109
bookstore application
Author.java, 114–115
BookController.java, 115–116
Book.java, 114–115
directory structure, 117
relationship between Book and
Author, 114–115
web.xml, 116–117
deferred evaluation, 109
functions
JSP code, 127
output after invoking function, 127–128
public and static methods, 126
tag library descriptor (TLD ) file, 126–127
immediate evaluation, 109
implicit objects
accessing cookie, 125
accessing header, 124
accessing request parameters, 124
accessing scoped attribute, 125
maps, 123
types, 123
literals, 110
object retrieval from scoped
attributes, 109
operators
arithmetic, 110–111
dot, 117–118
inside brackets [ ], 118
logical, 113–114
relational, 111–113
reserved words, 110
■ F
Facelets
templates
common.xhtml, 284
contents.xhtml, 286
headers and sidebar, 288
header.xhtml, 285
home.xhtml, 287
slide.xhtml, 286
ui:composition, 282
ui:decorate, 283
ui:define, 283
ui:include, 283
ui:insert, 283
ui:param, 284
Field operator (@), 421
Filter, 147
Frameworks
architectural problem domain, 158
automating common functionalities, 158
business problem domain, 158
configurability, 158
definition, 158
design patterns, 158
inversion of control, 158
loose coupling, 158
need for, 159
separation of concerns, 158
438 Index
Design patterns (cont.)