Index A-M

A
 
Abstract Factory (GoF) 643
accessibility 42
accessor methods (getters) 14, 463
Action class 410
action events
action sources 51, 129, 433
execution through ActionSource instances 448
firing by ActionSource interface 623
generated by Command family components 187
generation and firing of 186
handling 432
navigation handler and 129
user command representation with 428
action listener classes
combining with action listener methods and action methods 188
registering 188
action listener methods
action methods compared to 52
activity of 28
combining with action listener classes and action methods 188
defined 34
of backing beans (ProjectTrack) 358
overview 432
registration with an action source 433
sorting project lists with 371
typical uses 53
action listeners
adding with Java Studio Creator 926
adding with WebSphere Studio 904
default 51
relationship with action listeners 66
types of 51
action methods
activity of 29
combining with action listener methods and action listener classes 188
defined 34, 51
invocation by the default ActionListener 433
navigation cases associated with 133
of backing beans (ProjectTrack) 358
organized by function 565
overview 433
pages that reference (ProjectTrack) 359
reducing dependencies between sets of objects and 501
referenced by Inbox page (ProjectTrack) 377
required class 433
storage or retrieval of objects with 478
typical uses 52
updating data store with 355
action source components 186, 433
ActionEvent class 429, 432
ActionListener interface 938, 944
implementing 809
overview 433
ActionSource interface 623, 803
overview 448
ActiveX (Microsoft) 21
Adapter pattern 485
adapting objects for use with JSF 485
ADF Faces Components (Oracle) 875
ADF UIX (Application Development Framework), Oracle 7, 19, 874–875
advanced extensions registration 98
advanced features configuration 99
Apache Software Foundation
Cocoon 15, 672
Jelly 672
Struts. See Struts (Apache Software Foundation)
Tapestry 19
Tiles. See Tiles (Apache Software Foundation)
Tomcat 8, 12, 89, 92
Velocity 15, 672
APIs (application programming interfaces)
Informa 759, 762
Portlet 410, 422, 424
Servlet 410, 422, 424, 511, 536
Application class 411, 413, 936
application configuration (JSF)
attributes of elements 961
basic file structure 94, 959
elements of 98, 960
file specifying parameter 94, 959
location in the META-INF directory 661
location of 959
managed beans in 357
overview 959
pluggable classes 963
segmenting 101, 959
with web.xml 36, 92
application configuration categories 98
application configuration entry
application 36
categories 98
application configuration files
defined 97
errors 102
locating 101
specifying 101
Application Development Framework UIX (ADF), Oracle 7, 19, 874–875
application environment 357
application errors 501
Application instances, initializing 606
application layer classes (ProjectTrack) 477
application layers 457
application logic 51, 288, 411, 434, 457, 840
application messages. See messages
application scopes 80
<application> element 963
application-related classes (JSF) 411, 413
applications
access to pages 360
adding Cascading Style Sheets 303
adding JavaScript using pass-through properties 301
client-side JavaScript integration with JSF 301
commands, executing 219
configuration. See application configuration, JSF
connecting views to data sources 355
consistency enforcement 236
development approaches 355
enhancing pages 300
ensuring access to backing beans 472
error reporting 422
form-centric development of small 356
internationalization of 235, 398, 424, 551
layered 457
localization of 402
message bundles for 269
messages. See messages
migrating over time 572
object-oriented development of large system 356
request and response handling 572
requirements for JSF 289
resource bundles, creating for 238
simple two-layer 457
small 458
splitting into multi-layers 458
states, encapsulation of 419
Struts-Faces 573
text adaptation to locales 236
text strings for specific locales 238
UI component development compared to code development for 607
Apply Request Values phase 69, 428, 622
Approve a Project page (ProjectTrack)
access authorization 546
beans used for 381
integration with application 382
navigation rule update 384
navigation rules for 337, 384
overview 331
project updating 522
purpose of 379
architectures, application
alternatives and consequences 562
consistency of 459
layers 457
ASP.NET Web Forms (Microsoft) 5, 46, 95, 224, 500
<attribute> element 959, 962
attributes, JSF
accessing 443
defined 441
properties compared to 441, 610
authentication 545
authentication keys (ProjectTrack) 480
AuthenticationBean backing bean class (ProjectTrack)
action methods of 500
code for 505
initializing and referencing 509
login method code 550
AuthenticationBean backing bean class (ProjectTrack) (continued)
managed bean configuration 509
properties of 500
Visit object creation and storage 550
authenticationBean scoped variable (ProjectTrack)
associated views 359
description 358
header page and 365–366
Login page and 360–361
summary 360
AuthenticationFilter 547, 550
authorization 545, 547
filters 547
B
 
backing beans 39, 48
action methods implemented by 433, 564
adapters and property exposure of 460
advantage of 500
application logic organized into 411
as adapters 460
association with application views 355
automatic construction of 460
base class for 494
basic structure of 509
binding to a component instance 46
binding to a component’s value 46
business objects compared to 460
component wiring to data-sources with 355
configuring as managed beans 110, 472
data layer objects treated as black boxes 540
data-source association with 355
declaring 501
defined 14, 45
event listener methods and 358
event listeners and 186
exposing as scoped variables 472
exposing, using ValueBinding objects 473
form-centric development and 355
initializing 565
JavaDocs for 359
JSF compared to other frameworks 33
keys 480
Managed Bean Creation facility and 460, 494
not showing up 368
of Project Track 357
organizing by form 564
organizing by function 563
packaging action methods as properties of 501
properties of 357
property values, converting to a String 461
registering methods of single 452
relationship with Update Model Values phase 66
retrieval of business objects 459
serializability 462
similarity to ASP.NET Web Forms code-behind classes 46
simple layered architecture and 457
stored as scoped variables 494
storing in request scopes 538
storing in sessions 538
support for validator methods in 451
thread safety of 501
UI component manipulation with 441
UI component synchronization with Java objects using 6
validation methods and 245
writing to be stateless 538
Barcia, Roland 895
base classes 441, 627
JSTL in Action 104
Bayern, Shawn 104
Bergsten, Hans 672
binary data output 422
bind, defined 46
blogs 757
Borland
C++Builder 5
Delphi 4–5
Delphi Visual Component Library 21
broadcast method 624
business layers
access alternative 562
defined 458
interaction with views 459
overview 473
business logic 457, 563, 599
business objects
adapting to work with JSF components 484
backing beans compared to 460
exposing through backing beans 472
properties of 466
reusable in non-JSF applications 485
serializability 462
unit testing of 474
Button renderer 728
buttons
associating model objects with 323
cancel 448
components used for header 320
configured dynamically 321
creating 219
buttons (continued)
highlighting selected 321
localizing labels for 244
navigation rules for header 323
normal compared to rollover 728
reset 221, 736
rollover-enabled 728
using graphics for 301
C
 
C++Builder (Borland) 5
Camino open source browser 670
cancel buttons 448
Cascading Style Sheets (CSS) 69
adding to JSF applications 303
browsers and 69
class attribute and 143
editors for 143
UI component integration with 138
CBP (class-based pages) 666
cell phones 5
ChannelDataModel class 765
ChannelIF interface
DataModel class and 764
Informa API and 761
RSS channel representation in 761
character class 841
characters, regular expression 841
checkboxes, creating 198, 205
child components
accessing 442, 445
ensuring unique client identifiers 623
manipulating 445
rendering with encoding methods 815
using standard components with 758
child-parent relationships 412
choice formats 163–164
class-based pages (CBP) 666
classes
action methods of 433
adapter 477, 485
application layer 477
application-related (JSF) 411
base 441
base, for backing beans 494
context-related (JSF) 411
converter 416
core JSF 936
enumerated type 476
event 429
event-handling (JSF) 411
infrastructure category of core JSF 936
JSF set of 410
pluggable category of core JSF 938
renderer-related 637
UI component 411–412, 439, 441
utility 477
classes, shared 92
client certificate authentication 546
client identifiers
defined 30, 64
derivation of 611
referencing components with 73
rendering of 613
client-side validation, JSF and 245, 840
Cocoon (Apache Software Foundation) 15, 672
combining with value-change listener 187
combo box, creating 217
Command family components 187
CommandRolloverButtonTag
adding to the tag library 745
tag validator for 744
writing a 741
Common Object Request Broker Architecture (CORBA) 13
common/lib directory 92
commons-beanutils.jar files 91
commons-collections.jar files 92
commons-digester.jar files 92
commons-logging.jar files 92
component identifiers
referencing in Java code 76
specifying 442
using with findComponent 75
component palettes 145, 246
component tags, JSF 107, 142, 145
component trees 445
<component> element 970
components
defined 21
user interface (UI). See UI components
composite components 759
com.sun.faces.NUMBER_OF_VIEWS_IN_SESSION 96
com.sun.faces.validateXml 96
com.sun.faces.verifyObjects 96
configuration elements 961
configuration, JSF
application. See application configuration
consistency enforcement 236
constants, storing strings as 478
constructors, no-argument 460
consuming feeds 760
containers 12, 21
context 419
context-related classes (JSF)
access to user request data with 411
FacesContext class 411
summary of 419
controller architecture, JSF 599
controls. See UI components
convenience wrappers around methods 424
convertClientId method 642
Converter 450
converter classes 416
converter development
need for 854
registration of 461
writing 488, 654, 854
Converter interface 654, 856
<converter> element 973
converters
accessing 246
application configuration files for 98, 970
association with components 252
attributes used by 443
custom 252, 854
defined 48
description 39
development of 840, 854
for formatting 48
identifiers for 450
JSP integration of 658, 840, 866
localization 48
manipulating inside JSF IDEs 254
object assignment caution 254
purpose of 252
registration of 252, 416, 491, 657, 865
relationship with renderers 48
specifying 253
standard (JSF) 252, 255, 854
standard for basic Java types 253
states of 620
third-party vendor 252
type conversion, handling by 654
UI component association with single 654
unit tests for 656
user input conversion by 252
ConverterTag class 659
cookies 12–13, 81
CORBA (Common Object Request Broker Architecture) 13
core tag library 142
country codes (ISO) 236, 994
course-grained components 21
Create a Project page (ProjectTrack)
access authorization 546
action methods referenced by 386
bean used for 386
CreateProjectBean and 528
integration with application 386
navigation rule update 390
navigation rules for 390
overview 341
project updating 522
purpose of 379
CreateProjectBean backing bean class (ProjectTrack)
code analysis 528
managed bean configuration 532
createProjectBean scoped variable (ProjectTrack)
associated views 359
Create a Project page and 386
description 358
header page and 366
summary 386
currency codes (ISO) 1002
custom tag handlers 607, 627
custom tag libraries 102, 634
custom tags 102, 822
customizer 14
D
 
data format types 163
data grids. See HtmlDataTable component
data layer objects 540
data model events 41, 53, 428
data sets, displaying 223
data sources
backing beans association with 355
component wiring to 355
form-centric development and 355
data store 457
data store logic 457
data-aware controls 356, 759
databases 458
working with 407
DataModel class 53, 764
date collection 706
date format patterns 163, 259
date input controls 706
Date objects 251, 708
DateTime converter
description 256
inputting a Date object with 708
properties 257
usage 253, 256
using with date format patterns 259
DateTime converters 977
decimal format patterns 266
declarative 46
decode method 613, 729, 820
decoding 43, 636
delegated implementation rendering model 636
Delphi (Borland) 5, 176, 356
Delphi Visual Component Library (Borland) 21
Dependency Injection pattern 112
deployment descriptors (web.xml)
basic requirements 290
updating 397
usage 289
<description> element 113–114, 135
design time 21
development approaches (JSF) 355, 457
development tools 145
direct implementation rendering model 636, 707
directory structures 289, 360
display strings 552
display technologies 15
JavaServer Pages. See JSP (JavaServer Pages)
Velocity 15
WebMacro 15
XSLT 15
display technologies, alternative
class-based pages (CBP) 666
other options 671
XUL 670
<display-name> element 113–114, 135
doAfterBody method 633
Document Type Definition (DTD), JSF configuration 959
documentation for front-end developers 359
doFilter method 549
doInitBody method 633
DoubleRange validator 248, 250
DynaActionForms, Struts-Faces support for 581
DynaBeans, Struts-Faces support for 581
dynamic content 11
dynamic includes 103
dynamic resources 317
E
 
EAR (enterprise archive) 90
EditableValueHolder interface 438, 451, 621, 708
EJBs (Enterprise JavaBeans) 9, 18–19, 458
EL. See expression language (EL)
encodeBegin method 632, 721, 729, 813
encodeChildren method 632, 813
encodeEnd method 632, 813
encodeIcon method 819
encodeItem utility method 816
encoding 43, 636
encoding logic 613
encrypted logins 546
enterprise archive (EAR) 90
Enterprise JavaBeans (EJBs) 9, 18, 458
error messages. See messages
error page (ProjectTrack) 390
adding an 396
navigation rule update 397
navigation rules for 397
errors
classes of 501
handling 501
methods for logging 428
reporting to UI 422
serious 504
evaluation expressions 417
event classes 429
event handling 39, 55, 428, 615, 623
event listeners 28, 49
adding to UI components 615
description 186
event handling with 428
handling by UIComponentBase 623
method signatures for 432, 434, 436, 502
referencing type-safe properties 566
registering 186, 437, 593
superclasses and 441
event/listener pairs 430
event-handling classes 411
events 49
action. See action events
broadcasting of 430
data model. See data model events
generation with UI components 142
handling 428
important to JSF development 186
interfaces that fire 623
phase. See phase events
registering for later broadcasting 431
representation by subclasses 430
types of 428
value-change. See value-change events
exceptions, handling 502
expression language (EL), JSF
and quotes 78
associating backing beans with components via 46
embedding expressions 78
evaluation of 411, 417
hooking objects to components 357
implicit variables 83
in relation to backing beans 78
in relation to JavaBeans 78
in relation to JSP 2.0 EL 76, 81
in relation to JSTL EL 76, 81
in relation to model objects 78
JSF application development and 86
JSP 2.0 EL and 27
managed beans used with 107
method-binding expressions. See method-binding expressions
nested properties 78
relationship with Update Model Values phase 66
sharing variables with custom tags 106
usage in JSF applications 76
using with components 86
value-binding expressions. See value-binding expressions
expressions, JSF EL. See expression language (EL), JSF
expressions, regular. See regular expressions
eXtensible Markup Language (XML) 15, 148
eXtensible Style Sheet Language Transformations (XSLT) 15
extension mapping 93
external environments, access to 424
ExternalContext 420, 424
F
 
<f:verbatim> element
<from-action> element 133
<f:verbatim> element (continued)
<from-view-id> element 132, 134
nesting custom tags within 105
Faces Console (James Holmes) 97, 959
Faces requests 571
Faces responses 571
Faces servlet 30, 57, 93
.faces suffix 93
faces/prefix 93, 290
faces-config.xml. See application configuration (JSF)
FacesContext class 82, 420, 936
FacesEvent 429–430
FacesMessage 420, 422
<facet> element 959, 963
facets
compared to child components 143
defined 42
UIComponent methods for 445
using HtmlPanelGroup inside 183
factories (JSF) 936
factory classes 436
factory configuration 99
factory methods 414–415
<factory> element 975
FactoryFinder class 936
families, UI component
defined 141
exposure of 611
list of 141
renderer types and corresponding 637
renderers and 612
feeds
caching 764
consuming 760
RSS 759
filters, authentication 360
fine-grained 61
Firefox open source browser 670
formatting 48
form-based authentication 546
form-based development 355–356, 457
forms
adding to ProjectTrack 295
components for submitting 320
creating input 331
creating input. See also HtmlForm component
foundation frameworks 19, 570
foundation technologies 10
frameworks, web development 18
Application Development Framework UIX 7, 19, 146
Cocoon 15
JSF and 19
request processing lifecycles of 571
SOFIA 19
Struts. See Struts
Tapestry 19
types of 18, 570
WebWork 17–18
front-end development 457, 501
G
 
getAsObject method 655
getAsString method 655
getClientId method 611
getter methods (accessors) 14, 463
GMT (Greenwich Mean Time) 977
GridLayout component (Swing) 176
Groovy scripting language 672
H
 
header page (ProjectTrack)
action methods referenced by 369
AuthenticationBean class and 505
backing beans for 365
CreateProjectBean and 528
integration with application 366
internationalizing 400
navigation rule update 369
navigation rules for 369
properties of 366
purpose of 365
headers
built as dynamic resource 317
button 320, 323
control of text and graphic links in 318
navigation 317
spacing of buttons in 318
using custom components for 321
HeadlineViewerTableTag 781
Hello, world! application
backing bean referenced by 32
description 22
goodbye page 31
main page 24
hidden fields, declaring 197
Holmes, James 97, 325, 959
HTML component subclasses 439
HTML JSP custom tag library (JSF) 27, 102, 142
HTML renderers 441
HTML templates 672
HTML views, components for building 139
HtmlBaseTag class 738
HtmlCommandButton component
action events generated by 187
buttons, declaring with 219
description 139
for form submission 321
summary 219
UICommand class and 439
using for Submit button in forms 295, 298
value-binding expressions and 301
HtmlCommandLink component
action events generated by 187
action links, creating with 221
column headings and 371
description 139
for header buttons 320
functions performed by 370
re-sorting table data with 328
summary 221
UICommand class and 439
using instead of HtmlCommandButton 301
HtmlDataTable component
association requirement 324
converting from HtmlPanelGrid 371, 391
data grids 224, 370
data sets, displaying with 224
data tables
creating blank headings, component used for 328
prototyping with panels 324
re-sorting data, component used for 328
spanning columns of 335
description 139
displaying dynamic lists of data with 324
summary 225
UIData class and 439
HtmlForm component
basic usage 191
description 139, 190, 192
<hidden> field 300
method attribute of 192
requirement for header buttons 320
summary 190
UIForm class and 439
using for Login page 295, 297
HtmlGraphicImage component
basic usage 169
description 139
displaying images with 168
for header buttons 320
summary 168
UIGraphic class and 439
URL rewriting and 168
use in ProjectTrack 292
HtmlInputHidden component
basic usage 198
converter support by 252
description 139, 192
hidden fields, declaring with 197
summary 197
UIInput class and 439
HtmlInputSecret component
basic usage 196
converter support by 252
description 139
password fields, displaying with 195
summary 195
UIInput class and 439
using for password in forms 295
HtmlInputText component
basic usage 193
converter support by 252
description 139, 192
registering email validators 247
specifying input fields with 345
summary 193
text fields, declaring with 193
UIInput class and 439
using for username in forms 295, 297
value-change events generated by 187
HtmlInputTextarea component
converter support by 252
description 139, 192
memo fields, creating with 194
summary 194
UIInput class and 439
HtmlMessage component
basic usage 175
debugging with 175
description 139
displaying application messages with 173
displaying component messages with 169
showing detail with styles 172
summary 170, 173
UIMessage class and 439
validation messages displayed with 245
HtmlOutputFormat component
compared to HtmlOutputText 160
converter support by 252
description 140
message format patterns and 161
parameterizing strings with 243
relationship with MessageFormat class 162
simple parameter substitution 162
summary 161
UIOutput class and 440
using choice format for plurals 165
using date format patterns with 260
using extended syntax for message format elements 163
using for parameterized text 160
using with number format patterns 266
HtmlOutputLabel component
basic usage 160
converter support by 252
creating input labels with 158
description 140
for form submission 321
summary 159
UIOutput class and 440
HtmlOutputLink component
and URL rewriting 165
compared to normal hyperlinks 167
converter support by 252
description 140
displaying hyperlinks with 165
HtmlOutputLink component (continued)
linking to relative URL 166
passing URL parameters to 167
summary 166
UIOutput class and 440
HtmlOutputText component
compared to HtmlOutputFormat 160
converter support by 252
description 140
displaying ordinary text with 153
for header buttons 320
for text in headers 318
referencing localized strings with 242
summary 154
turning off text escaping 155
UIOutput class and 440
use in ProjectTrack 292
used as placeholder for application messages 328
HtmlPanelGrid component
as main container for headers 318, 320
basic usage 180
converting to HtmlDataTable 371, 391
creating footers with 333
creating layouts with 333
creating tables with 178
description 140, 176
GridLayout compared to 176
improving layouts with 308
prototyping data tables with 324
simulation of HtmlDataTable 328
summary 179
UIPanel class and 440
using with headers, footers, and styles 181
HtmlPanelGroup component
as a placeholder 177
as container for combo box in headers 318
basic usage 177
creating blank table headings with 328
description 140, 176
grouping components with 176
summary 177
UIPanel class and 440
using with styles 178
HtmlSelectBooleanCheckbox component
checkboxes, creating with 198
converter support by 253
description 140
summary 198
UISelectBoolean class and 440
HtmlSelectManyCheckbox component
checkbox groups, displaying items with 205, 336
converter support by 253
description 141
specifying input fields with 345
summary 206
UISelectMany class and 440
value-change events generated by 187
HtmlSelectManyListbox component
converter support by 253
description 141
listboxes, displaying several items in 208
summary 208
UISelectMany class and 440
HtmlSelectManyMenu component
converter support by 253
description 141
listboxes, displaying single items in 210
summary 210
UISelectMany class and 440
HtmlSelectOneListbox component
converter support by 253
description 141
for language selection 320
single-select listboxes, using with 215
specifying input fields with 345
summary 215
UISelectOne class and 440
HtmlSelectOneMenu component
combo boxes, declaring with 217
converter support by 253
description 141
summary 217
UISelectOne class and 440
HtmlSelectOneRadio component
converter support by 253
description 141
radio buttons, displaying items with 212
summary 213
UISelectOne class and 440
HTTP 12
HTTP basic authentication 546
HTTP digest authentication 546
HttpRequest 410
HttpResponse 410
HttpServlet 410
HttpSession 410
Husted, Ted 573
I
 
i18n (internationalization) abbreviation 236
IBM
WebSphere Application Developer. See WebSphere Application Developeer (IBM)
WebSphere Application Server 8, 12, 89
<icon> element 113–114, 135, 959, 961
IDEs (Integrated Development Environments). See Integrated Development Environments (IDEs) for JSF
image files 289
implementations, JSF 89, 92, 95, 936
implicit includes 103
implicit variables 83, 581
Inbox page (ProjectTrack)
access authorization 546
action methods referenced by 378
data table for 325
directory location 360
integration with application 375
listing projects for 511
navigation rule for 329, 378, 519
navigation rule update 378
overview 325
project information listing 541
SelectProjectBean and 519
toolbar button disabling for 464
inboxBean scoped variable (ProjectTrack)
Inbox page and 370
summary 370
includes, JSP
directory of 360
functions performed by 382
used by project pages 379
using with JSF 103
Informa API 759, 762
infrastructure JSF classes 936
initial request 63
input controls 194
date 706
disabling 194
EditableValueHolder interface and 621
generation of value-change events 186
registration of validators for 246
requirements for 192
types of values of 621
UIInput class and 708
validation method associations 245
validator acceptance by 248
validators and 648
input errors 501
Input family components 192, 249
input forms 379
input validation. See validation
input values, requirement of 249
InputDateTag 718
Integrated Development Environments (IDEs) for JSF
component palette of 246
importing custom components 627
importing custom renderers 647
Java Studio Creator. See Java Studio Creator (Sun)
JDeveloper. See JDeveloper (Oracle)
JSF support of 874
manipulating converters inside 254
WebSphere Studio Application Developer. See WebSphere Studio (IBM)
integration
ad hoc performance of 359
defined 569
effect of filtering on 360
JSF with Struts applications 572
integration layers 458, 476
Intercepting Filter pattern 547
International Organization of Standardization (ISO). See ISO (International Organization of Standardization)
internationalization 235
application 398
defined 235, 398
dynamic text and 244
i18n abbreviation 236
informational resources on 241
supporting in code 552
UI extensions 660
Inversion of Control (IoC) pattern 112
Invoke Application phase 69
ISO (International Organization of Standardization)
country codes 994
currency codes 1002
language codes 990
isTrue method 721
isValid method 650, 745
items
creating single 200, 453
defining lists of 199
displaying in checkboxes 205
displaying in listboxes 208
displaying single 200
groups of 199, 453
handling multiple 205
lists of 199, 453
J
 
J2EE. See Java 2, Enterprise Edition (J2EE)
Jacobi, Jonas 874
JAR files 660
JAR libraries 90
Java 2, Enterprise Edition (J2EE)
containers 10
implementations shipped with 90
JDeveloper (Oracle) and 874
JSF applications and 89
JSF as part of 4, 19
manipulation of components during runtime 21
web applications 12, 36
Java Community Process (JCP) 4, 10, 13, 19
Java Studio Creator (Sun)
adding data sources to backing beans 356
Java Studio Creator (Sun) (continued)
description 8
displaying hyperlinks with 165
dockable component palette of 146
overview 918
page navigation editing in 130
ProjectTrack Login page, creating with 920
registering validators with 246
table creation with 178
visual editors for 97
Java System Application Server (Sun) 12
JavaBeans
accessing properties of 463
accessor methods (getters) 14, 463
adapters 460
JavaDocs 359
JavaScript
component referencing with 27
encapsulating functionality within components 728
image rollover function 301
integrating JSF applications with client-side 301
JSF expression language and 76
MyFaces configuration parameters and 96
UI component integration with 138
JavaServer Faces (JSF)
architecture, extending core features of 940
as standard Java web applications 289
benefits of 438
core classes 936
defined 5
display technologies, handling 666
EL syntax, flexibility of 357
goals of 874
history of 10
IDE support of 874
IDEs and 19
implementations 171
industry support 10
integration with non-Struts applications 600
Java Studio Creator used with 918
JSP 1.2 and 607
JSP-based pages and JSF tag library 294
key concepts 41, 57
libraries 91
limitations in functionality 876
main parts of 569
non-JSP display technologies with 666
Oracle JDeveloper 10g used with 874
other web frameworks and 19
pluggable architecture of 666, 936
portability of 147
power of 606
purpose of 5, 570–571
RAD and 10
requirements for applications 289
Struts compared to 564
Struts integration with 573
terminology 666
two primary features of 570
underlying technologies 11
using without JSP 570
WebSphere Studio used with 895
when to integrate with other frameworks 569
JavaServer Pages (JSP). See JSP (JavaServer Pages)
JavaServer Pages Standard Tag Library (JSTL)
API classes 92
<c:out> tag compared to HtmlOutputText component 155
constraints when using JSF tags with 109
controlling component visibility with 108
custom tags and 15
dependence of JSF on 92
dynamic includes and 103
impact of <fmt setLocale> tag on 110
information about 105
JSF combined with 110
JSF custom tags demonstration with 104
managed bean referencing and 111
mixing with JSF tags 80, 104–105
using JSF tags without 109
using with JSF and backing beans 106
JavaServer Pages Standard Template Library (JSTL) 104
javax.faces.CONFIG_FILES 94, 101, 959
javax.faces.DEFAULT_SUFFIX 94
javax.faces.LIFECYCLE_ID 94
javax.faces.STATE_SAVING_METHOD 94
JDeveloper (Oracle)
child component manipulation with 225
debugging with 894
design-time benefits of 876
JSF and 7, 146
overview 874
ProjectTrack Login page, creating with 879
workspace 878
JDK 1.5 (Tiger) 798
Jelly (Apache Software Foundation) 672
JSF Central community site 10, 959
JSF classes, categories of 411
JSF Console (Holmes) 325
JSF implementations 933
JSF RI (reference implementations), Sun 10
as standard for all implementations 89
JSF RI (reference implementations), Sun (continued)
description 933
effecting configuration changes 101
ensuring same behavior 181
internationalization and localization support with 236
JSF library non-support by 92
language support for 269
quirks of 171
RenderKit support by 448
UI extension defining 606
JSF. See JavaServer Faces (JSF)
jsf-api.jar file 91
jsf-impl.jar file 91–92
JSP (JavaServer Pages)
component integration with 822
controlling access to 360
converter integration with 658, 866
custom tag implementation 607
custom tags 718
defined 15
placement in root directory 289
renderer integration with 647
technical restrictions and “class” 143
Tiles pages, converting to JSF 593
UI component integration with 627
UI extension integration with 607
UIHeadlineViewer component integration with 781
UIInputDate component integration with 718
validator integration with 652, 847
version 1.2 and JSF 89, 607
version 2.0 and JSF 607
writing component tags for 627
JSP custom tags
goal of Struts-Faces 577
removing components used with conditional 107
JSP includes 317
JSP integration process 737
JSP page directive 110
jstl.jar file 92
Jython scripting language 672
K
 
Keel meta-framework 672
<key> element 120
keys, storing as constants (ProjectTrack) 480
L
 
l10n (localization) abbreviation 236
language codes (ISO) 236, 990
language of views (localization) 151
languages, support for multiple. See localization
layers, application
separation of 457
types of 457
LDAP (Lightweight Directory Access Protocol) 546
Length validator 248, 250–251, 345
libraries (JAR) 91
libraries, resale/distribution 840
Lifecycle class 936
<lifecycle> element 974
links, action 221
listboxes, creating 208
listener classes, support for 624
listener methods, support for 624
listeners
parameterizing 516
states of 620
<list-entries> element 968
lists of data
controls for displaying dynamic 324
lists of items
configuring dynamically 465
exposing objects from business tier in 466
selecting items from 465
local values 621
<locale-config> element 964
locales 151
configuration of 237
defined 235–236, 977
determining user 238
displaying numbers for 262
importance of specifying 238
keeping track of supported 414
overriding JSF selected 238
resource bundles and 238
localization 235
application 402
defined 235, 398, 552
informational resources on 241
JSF handling of 447
l10n abbreviation 236
logic
business 457–458, 563, 599
converter 847
data store access 457
encoding 613
intermixing, problems with 458
separating validation logic from application 840
logical outcomes 34, 129, 132–133
login failures 363
Login page (ProjectTrack)
action listeners, adding with Java Studio Creator 926
action listeners, adding with WebSphere Studio 904
AuthenticationBean class and 505
components, binding to backing beans with JDeveloper 890
components, binding to backing beans with WebSphere Studio 902
Login page (ProjectTrack) (continued)
components, binding to properties with Java Studio Creator 924
configuration file editing with JDeveloper 890
creating page with Java Studio Creator 920
creating page with JDeveloper 879
creating page with WebSphere Studio 898
input field requirements 305
integration with application 361
layout 292
layout improvement 308
navigation rule for 364
navigation rule update 364
navigation, adding with Java Studio Creator 928
navigation, adding with JDeveloper 892
navigation, adding with WebSphere Studio 912
outcome possibilities 364
overview 291
testing with Java Studio Creator 932
testing with JDeveloper 894
testing with WebSphere Studio 913
validation, adding with Java Studio Creator 923
validation, adding with JDeveloper 888
validation, adding with WebSphere Studio 901
logins, encrypted 546
LongRange validator 248, 250–251
M
 
Managed Bean Creation facility 47
automatic bean creation with 460
automatic bean exposure with 472
benefits of 111
combining backing beans with 494
description 98
initializing backing bean properties with 565
object creation with 482
purpose of 110
managed beans
at application startup 112
configuration with XML elements 111
configuring backing beans as 472
converting types used for map keys 122
defined 35, 47, 110
Dependency Injection pattern and 112
expressions used with 107
implicit variables associating with 128
Inversion of Control (IoC) pattern and 112
JSTL and referencing 111
referenced beans 114
restricted scoped variables, associating with 128
Setter Injection pattern and 112
web application scopes 113
<managed-bean> element 114, 965
<managed-bean-class> element 113
<managed-bean-name> element 113
<managed-bean-scope> element 113
<managed-property> element 114, 966
<map-entries> element 120, 967
<map-entry> element 120, 967
mapping prefix 93
mapping suffix 93
McClanahan, Craig 19
memo fields, creating 194
message bundles 269
message format elements 161–163
message format patterns 161
message format styles 163
message format types 163
MessageFormat class 162
messages
adding to a user interface 304
application 169–170, 328
conversions and 252
customizing validation 307
description 40
for application errors 55
informational 56
internationalizing 557
localizing for Russian 561
login failures 364
methods for logging 428
overriding default 414
overriding standard 270
properties of 557
reporting to UI 422
severity levels of 169, 269, 423
sources of 55
standard (JSF RI) 307
standard (JSF) 270
user input errors 55
validation and conversion 27, 236, 414
validation error 30
MethodBinding class 413, 417–418
method-binding expressions 79
encapsulation of 415
method-binding expressions 85
methods
action listener. See action listener methods
component decoding 612
component encoding 612
convenience wrappers around 424
event handling 615
validator. See validator methods
methods (continued)
value-change. See value-change methods
Microsoft
ActiveX 21
ASP.NET 5
ASP.NET Web Forms 5, 95, 500
.NET Framework 5
Visual Basic 4, 8, 37, 176
Visual Studio.NET 5, 918
model objects
as managed beans 47
binding to a component’s value 47
defined 47
HtmlNavigator custom component and 323
properties exposure 357, 359
relationship with Update Model Values phase 66
SelectItem class 453
working with UIComponents compared to 828
Model-View-Controller (MVC) design pattern
defined 17
enforcing architecture of 41
Model 2 variation 18
Mozilla open source browser 670
mutator methods (setters) 14, 463
MVC. See Model-View-Controller (MVC) design pattern
MyFaces open-source JSF implementation 90, 95, 933
myfaces_allow_designmode 96
myfaces_allow_javascript 96
myfaces_pretty_html 96
myfaces.jar files 92