Index
Symbols
@ 55, 84
$content$ 245
$remove$ 83, 184
/app 90
A
absolute paths 371
abstract methods 99–101
AbstractComponent 33, 59, 75
AbstractPage 147
accessor methods 81, 101, 128, 223, 225, 228, 237, 308, 529
action service 494
Actions 37
activate 62
ActivateCallback 445
ActivatePage 411, 444
active page 62, 100
AdminPage 411
advertising sites, international-ization of 309
Ant 29
Ant build scripts 385
anti-patterns 13, 15
bad coding shortcuts 15
unwanted dependencies 13, 98
weak binding 13, 95
Apache 25, 480
Apache Tomcat 7
application callback 55
application extensions 328, 520
application flow 41
application layer 19–20, 404, 411
application server cluster 409
application servers 11, 18
class loaders 273
clusters 275
hot application redeploy-ment 273
JBoss 405, 480
servlets
See application servlets
WebLogic 276, 405
application servlets
application operations, han-dling 280
as gateways 271–272
bridging between HTTP and 299
clusters and 272
engine services and 279
HTTP protocol 271
JavaBeans 271
mapping changes 279
multithreading, impact on 271
overview 271
page use compared to use of 300
relationship between JSPs and 279
request processing 270–271
return of engine instance to HttpSession 272
Servlet API 271, 273
stale session 285
stateful 285
stateless 272
URLs 279, 284, 290
application specifications 91, 517
application tier 44
ApplicationRuntimeException 53
applications
banner source in specifica-tions 339
border components and 217
changing locales for 317
compartmentalizing 262
continuing operation with missing message strings 315
Demo 12
desktop 13, 16
engines and 277
enterprise 12
examples of
See example applications
extremely large, Tapestry framework and 274
file extension of specifications 254
forwarding requests to 369
highly complex, Tapestry framework and 274
hybrid 369
integrating with JSP 369
JavaBean construction of 299
language proficiency for 263
libraries and 256
library for services and com-ponents 336
linking from JSPs to 371
localization of 309
look and feel of 217
multi-user, Tapestry frame-work and 274
overriding default locations of component specifica-tions 256
resource storage 261
root element for specifica-tions 256
servlets
See application servlets
specifications 254
stateless 61
URLs 333, 371
usable 170, 192, 211
user expectations 170
user-presentable names for 256
validation of input 179
web, localization of 309
ApplicationServlet 276, 409
application-specific logic 5, 22, 57
architecture 16
array types 228
ArrayList 126
asset services 267
assets 70, 75–76, 79, 184, 437, 523
context 267
duplication removal 244
image representation with 316
localization and 316
private 267
using locales to deteremine URLs 317
attributes
acceptance of unquoted 295
allow-body 219–220
allow-informal-parameters 219, 221
class 219
copying 275
direction 224, 226, 229, 251
href 13, 250
HttpSession 272, 274
initial-value 308
key 314
of parameter element 222
quoting 296
serializing 275
session 22
src 230, 236
usemap 246
authentication 10, 96, 100, 407
automatic integration 339
AWT 18
B
bad coding shortcuts 15
banner ads
applications, building 337
BannerAd component 329
CreditCardField script
See CreditCardField script
data access 328
data model 326
DirectLink component of 325
function names 351
library specifications 336
page scripts 339
request servicing 334
script blocks 352
service implementation 332
service naming 335
source 327
storage 338
symbols 349
system 324
BaseComponent 35
BaseEngine 407, 416
BasePage 35, 57, 61
binary output 163
BinaryDumpOutputStream 163, 165
binding objects
See bindings
binding property 223
bindings
accessing 223
digit parameter 232
invariant 226
literal values 226
localized messages 226
plugged into component parameters 223
storing for parameters 225
types of 223
updating values 226
blank fields 174
bodies, component
composition 220
discarding 220
Book 453, 457–458
Bookmarkable links 450
BookQuery bean 405–406, 419, 423, 425, 429–430
bookQuery property 419
bridging between stateless and stateful worlds 299
browser back button 129, 132, 134, 148, 151, 154
bugs 271, 276, 308
business processes 44, 104
C
caching 52, 406
calculations in pages 234
Cascading Style Sheets (CSS) 97, 176, 184, 191, 201–202, 205, 217, 221, 261, 314, 511
changes, tracking 301–302
characters
invalid 292
non-ASCII, conversion of 292
nonprinting, conversion of 292
reserved, conversion of 292
unsafe, converting to HTML entities 314
check boxes 104
choke points 14
ClassCastException 59
classes
AbstractComponent 218, 250, 304, 315
AbstractFormComponent 355, 363
AbstractService 334–335
Banner 327
BannerAd 329
BannerService 332
base 315, 335, 355, 363
BaseComponent 217–219, 302
BasePage 297
BaseValidator 198, 204
ComponentAddress 306
CreditCardField 348, 355– 356
CSS 221, 260
default 219
DirectLink 250
enhanced subclasses 308
examples.resume.Exerience 260
field-error 201
IActionListener 248
IEngineService instance 250
ILink 250
instantiation of a page?s Java 302
IValidationDelegate 208, 264
Java 179, 316, 356
java.io.PrintWriter 292
java.text.MessageFormt 316
label-error 201
Letter 237
ListEditMap 159
page 178
PatternValidator 199
PriorityModel 141
Register 194
RegisterDelegate 191
Tapestry 251
tapestry-palette 260
ToDoItem 137, 145, 155
UploadResults 163
utility 306
classpath 254, 256, 261, 267
client-side
JavaScript 174, 176, 198, 203, 339, 460
logic 6, 339
pop-up windows 203, 205
scripting 198, 203, 205, 339
validations 174, 176, 205
close tags, omitting 221
clustering 275, 308, 409
code
refactoring tools for changes in 280
URL construction 280
URL servlet 280
code duplication removal 244– 245, 262
Collection 472, 500
complex form 105, 120
component libraries 480
application specifications 254
classpath location 264
classpath location of JAR 254
component referencing 256
component storage in class-path 261
Contrib library 254, 256
declaring use of 254
distribution as JAR files 254, 266
ID prefix 260
IDs 256
Java package for 264
naming patterns 256
packaging reusable compo-nents into 261
Palette component 256
prefixing 256, 260
secondary 254
servlets of 255
specifications 218, 262
tapestry-contrib-3.0.jar 254
using components from 263
component objects
framework 50
hierarchy 50
model 17, 478
component parameters 58, 80
component specifications 28, 78, 521
attributes and elements of 219
beginning of 219
instantiation of components 219
name of file 218
new property declarations 308
processing requests and 270
purpose of 219
sources of files 218
storage of 217
component templates
request processing and 270
component-oriented services 324
components 17, 21, 27
action triggering by 284
ActionLink 494
advanced form 134
anonymous Letter 237
Any 494
application-specific 216, 254
BannerAd 329, 339
Block 463, 495
Body 55, 167, 186, 220, 243, 344, 365, 495
body allowing 242
Border 217, 243, 258, 370
bound properties, reading and updating 222
buffering the output of 345
Button 495
calculations during render 234
Checkbox 103, 110–111, 118, 121, 495
communication between 271
Conditional 98, 186, 210, 220, 496
configuration 75, 85
conflicts with informal parameters 230
consistency between pages and 299
construction details 290
contained vs enclosed 243
controller 240
controlling behavior of 222
converting application-spe-cific to library compo-nents 264
corresponding to engine ser-vices 281
CreditCardField 341, 346, 348, 352
DatePicker 134, 167, 170, 208, 210–211, 221, 496
declared 259, 321
declared vs implicit 188
Delegator 165, 186, 221, 497
Digit
See Digit component
Direct Area
See DirectArea component
DirectLink 55, 58–59, 62, 83, 86, 88, 98, 119, 222, 229, 237, 246, 281, 284–285, 288–289, 325, 333, 370, 497
duplications 244, 424
enclosed vs contained 243
end tags 220
ExceptionDisplay 498
exceptions and 221
ExternalLink 290, 450, 499
FieldLabel 173, 175, 181, 184, 188, 201, 208, 499
FileUpload 165
filtering benefits 295
final initializations 303
finishLoad() method, overrid-ing 304
Foreach 79, 82–83, 85, 106, 115, 120, 124, 153–154, 156, 220, 222, 237, 239– 240, 500
Form 98–100, 102, 110, 149, 178, 181, 184, 188, 284– 285, 288, 299, 350, 361, 500
form element 355