Gift Guide



Awaken your Java programming skills by learning to apply the Struts framework. Get a fresh approach to learning Struts with a book that gives you a hands-on approach and step-by-step examples that successfully illustrate each topic. Follow along and create Web and Struts applications. Master view, model, and controller creation, and learn the Strusts HTML, bean, and logic tags. Type or download program-ready examples to build and deploy a wide range of Struts applications. ...
See more details below
Paperback (First Edition)
$27.81 price
(Save 15%)$32.95 List Price

Pick Up In Store

Reserve and pick up in 60 minutes at your local store

Other sellers (Paperback)
  • All (30) from $1.99   
  • New (13) from $4.73   
  • Used (17) from $1.99   
Sending request ...


Awaken your Java programming skills by learning to apply the Struts framework. Get a fresh approach to learning Struts with a book that gives you a hands-on approach and step-by-step examples that successfully illustrate each topic. Follow along and create Web and Struts applications. Master view, model, and controller creation, and learn the Strusts HTML, bean, and logic tags. Type or download program-ready examples to build and deploy a wide range of Struts applications.
Read More Show Less

Product Details

  • ISBN-13: 9780072256598
  • Publisher: McGraw-Hill/OsborneMedia
  • Publication date: 7/29/2004
  • Edition description: First Edition
  • Edition number: 1
  • Pages: 408
  • Product dimensions: 0.84 (w) x 7.50 (h) x 9.25 (d)

Table of Contents

Acknowledgments xvii
Introduction xix
1 Creating Web Applications 1
All About Struts 2
Why "Struts"? 4
Who Creates and Maintains Struts? 4
Critical Skill 1.1 Get and Install Tomcat 5
Running Tomcat 6
Critical Skill 1.2 Use JSP 8
Scripting Elements 10
Comments 11
Directives 12
Actions 12
Reading Data from Web Pages 13
Critical Skill 1.3 Work with JavaBeans 14
Creating a Bean 15
Connecting to a Bean 17
Creating Bean Properties 18
Connecting to Bean Properties 20
Critical Skill 1.4 Work with Servlets 22
Writing a Servlet 23
Compiling a Servlet 25
Installing a Servlet 25
The Life Cycle of a Servlet 27
Module 1 Mastery Check 30
2 Struts Essentials 33
Critical Skill 2.1 Use MVC Architecture 34
Model 1 Architecture 34
Model 2 Architecture 34
Critical Skill 2.2 Understand How Struts Works 35
The Welcome Page 36
The ActionServlet 37
ActionMappings 38
Action Forms 40
Actions 41
The Results Page 45
Critical Skill 2.3 Develop a Struts Skeleton: struts-blank.war 46
index.jsp 49
struts-config.xml 49
Welcome.jsp 50
Critical Skill 2.4 Write Forms and Actions: a Struts Example 53
Use Struts 1.2 62
Module 2 Mastery Check 62
3 Handling User Input 65
Critical Skill 3.1 Read User Input 66
The Welcome Page 67
The Action Form 68
The Action 69
The Results Page 72
Critical Skill 3.2 Create a Full Struts Example 74
The Custom JSP Tags 75
The Welcome Page 81
The Action Form 84
The Action 86
The Results Page 90
Installing the Files 91
Use Struts 1.2 92
Module 3 Mastery Check 94
4 Working with Models and ActionForms 97
Critical Skill 4.1 Work with Models 98
Creating the Model 104
Use Struts 1.2 105
Passing Action Forms to the Model 106
Critical Skill 4.2 Work with Action Forms 108
Populating HTML Controls with Data from the Action Form 110
Validating Data with the Action Form 115
Using DynaActionForms 118
Use Struts 1.2 123
Module 4 Mastery Check 124
5 Using Actions 127
Critical Skill 5.1 Use the [left angle bracket]action[right angle bracket] Element 128
Using Action Classes 131
The execute Method 134
What About Exceptions? 136
Critical Skill 5.2 Use ForwardAction 139
Critical Skill 5.3 Use IncludeAction 141
Critical Skill 5.4 Use DispatchAction 144
Critical Skill 5.5 Use LookupDispatchAction 149
Critical Skill 5.6 Use SwitchAction 152
Use Struts 1.2 154
Module 5 Mastery Check 154
6 The Struts [left angle bracket]html[right angle bracket] Tags 157
Critical Skill 6.1 Use the [left angle bracket]html:html[right angle bracket] Tag 161
Critical Skill 6.2 Use the [left angle bracket]html:form[right angle bracket] Tag 162
Critical Skill 6.3 Use the [left angle bracket]html:submit[right angle bracket] Tag 163
Critical Skill 6.4 Use the [left angle bracket]html:cancel[right angle bracket] Tag 164
Critical Skill 6.5 Use the [left angle bracket]html:text[right angle bracket] Tag 165
Critical Skill 6.6 Use the [left angle bracket]html:errors[right angle bracket] Tag 166
Critical Skill 6.7 Use the [left angle bracket]html:textarea[right angle bracket] Tag 168
Critical Skill 6.8 Use the [left angle bracket]html:checkbox[right angle bracket] Tag 169
Critical Skill 6.9 Use the [left angle bracket]html:radio[right angle bracket] Tag 171
Critical Skill 6.10 Use the [left angle bracket]html:button[right angle bracket] Tag 174
Critical Skill 6.11 Use the [left angle bracket]html:link[right angle bracket] Tag 175
Critical Skill 6.12 Use the [left angle bracket]html:img[right angle bracket] Tag 176
Critical Skill 6.13 Use the [left angle bracket]html:image[right angle bracket] Tag 178
Critical Skill 6.14 Use the [left angle bracket]html:select[right angle bracket] and [left angle bracket]html:option[right angle bracket] Tags 182
Critical Skill 6.15 Use the [left angle bracket]html:multibox[right angle bracket] Tag 184
Critical Skill 6.16 Use the [left angle bracket]html:file[right angle bracket] Tag 186
Use Struts 1.2 189
Module 6 Mastery Check 189
7 The Struts [left angle bracket]logic[right angle bracket] and [left angle bracket]bean[right angle bracket] Tags 193
The [left angle bracket]logic[right angle bracket] Tags 194
Critical Skill 7.1 Use the [left angle bracket]logic:empty[right angle bracket] and [left angle bracket]logic:notEmpty[right angle bracket] Tags 198
Critical Skill 7.2 Use the [left angle bracket]logic:equal[right angle bracket] and [left angle bracket]logic:notEqual[right angle bracket] Tags 199
Critical Skill 7.3 Use the [left angle bracket]logic:greaterEqual[right angle bracket] and [left angle bracket]logic:greaterThan[right angle bracket] Tags 201
Critical Skill 7.4 Use the [left angle bracket]logic:lessEqual[right angle bracket] and [left angle bracket]logic:lessThan[right angle bracket] Tags 203
Critical Skill 7.5 Use the [left angle bracket]logic:match[right angle bracket] and [left angle bracket]logic:notMatch[right angle bracket] Tags 204
Critical Skill 7.6 Use the [left angle bracket]logic:present[right angle bracket] and [left angle bracket]logic:notPresent[right angle bracket] Tags 206
Critical Skill 7.7 Use the [left angle bracket]logic:iterate[right angle bracket] Tag 207
Critical Skill 7.8 Use the [left angle bracket]logic:forward[right angle bracket] and [left angle bracket]logic:redirect[right angle bracket] Tags 208
The [left angle bracket]bean[right angle bracket] Tags 210
Critical Skill 7.9 Use the [left angle bracket]bean:cookie[right angle bracket] Tag 214
Critical Skill 7.10 Use the [left angle bracket]bean:define[right angle bracket] Tag 215
Critical Skill 7.11 Use the [left angle bracket]bean:header[right angle bracket] Tag 216
Critical Skill 7.12 Use the [left angle bracket]bean:message[right angle bracket] Tag 217
Critical Skill 7.13 Use the [left angle bracket]bean:parameter[right angle bracket] Tag 219
Critical Skill 7.14 Use the [left angle bracket]bean:struts[right angle bracket] Tag 220
Critical Skill 7.15 Use the [left angle bracket]bean:write[right angle bracket] Tag 222
Use Struts 1.2 223
Module 7 Mastery Check 223
8 Creating Custom Tags 225
Critical Skill 8.1 Use a Text-Inserting Tag 227
Creating TLD Files 228
Supporting Custom Tags in Java 230
Using the Page Context 232
Support Tag Attributes 235
Critical Skill 8.2 Create Iterating Tags 239
Critical Skill 8.3 Create Cooperating Tags 242
Critical Skill 8.4 Use Custom Tags That Create Variables 247
Module 8 Mastery Check 250
9 The Struts Validator Framework 253
Critical Skill 9.1 Use the Validator Framework 260
Critical Skill 9.2 Use the Standard Rules 262
Critical Skill 9.3 Create Your Own Rules 265
Critical Skill 9.4 Handle Bytes 266
Critical Skill 9.5 Handle Shorts 269
Critical Skill 9.6 Handle Integers 269
Critical Skill 9.7 Handle Integer Ranges 269
Critical Skill 9.8 Handle Longs 271
Critical Skill 9.9 Handle Floats 271
Critical Skill 9.10 Handle Float Ranges 272
Critical Skill 9.11 Handle Doubles 272
Critical Skill 9.12 Handle Dates 272
Critical Skill 9.13 Handle Credit Cards 273
Critical Skill 9.14 Handle Masks 273
Critical Skill 9.15 Validate Using Constants 274
Critical Skill 9.16 Display Errors 275
Critical Skill 9.17 Use DynaActionForm Objects and Validation 277
Use JavaScript for Validation 278
Use Struts 1.2 279
Module 9 Mastery Check 279
10 The Tiles Framework 283
Working with Tiles 285
Installing Tiles 286
Critical Skill 10.1 Create a Basic Page 288
Creating the Layout 290
Critical Skill 10.2 Use [left angle bracket]tiles:putList[right angle bracket] 294
Critical Skill 10.3 Use the [left angle bracket]definition[right angle bracket] Tag 298
Critical Skill 10.4 Use XML-Based Definitions 299
Critical Skill 10.5 Overload Definitions 301
Critical Skill 10.6 Extend Definitions 302
Critical Skill 10.7 Use Definitions as Attributes 304
Critical Skill 10.8 Use a Definition as an ActionForward 305
Module 10 Mastery Check 308
11 Using Eclipse with Struts 311
Critical Skill 11.1 Download and Install Eclipse 314
The Parts of Eclipse 315
The Platform Kernel 315
The Eclipse Workbench 315
The Eclipse Workspace 315
The Team Component 316
The Help Component 316
Critical Skill 11.2 Use Eclipse Views, Editors, and Perspectives 316
Critical Skill 11.3 Create a Struts Application with Eclipse 317
Critical Skill 11.4 Create a New Eclipse Project 318
Critical Skill 11.5 Add a JSP to an Eclipse Project 321
Critical Skill 11.6 Create a Java Class 323
Critical Skill 11.7 Edit struts-config.xml 333
Critical Skill 11.8 Add the Results Page to the Project 335
Critical Skill 11.9 Connect Eclipse to Ant 338
Module 11 Mastery Check 343
A Answers to Mastery Checks 345
Module 1: Creating Web Applications 346
Module 2: Struts Essentials 348
Module 3: Handling User Input 350
Module 4: Working with Models and ActionForms 352
Module 5: Using Actions 354
Module 6: The Struts [left angle bracket]html[right angle bracket] Tags 356
Module 7: The Struts [left angle bracket]logic[right angle bracket] and [left angle bracket]bean[right angle bracket] Tags 358
Module 8: Creating Custom Tags 360
Module 9: The Struts Validator Framework 362
Module 10: The Tiles Framework 364
Module 11: Using Eclipse with Struts 366
Index 369
Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)