Jakarta Struts Cookbook

( 2 )


The Jakarta Struts Framework is a popular open source platform for building web applications from top to bottom with Java. While this popularity has led to a wealth of online and in-print documentation, developers still find themselves faced with a number of common tasks that are not clearly and succinctly explained.In these situations, programmers can now turn to the Jakarta Struts Cookbook an amazing collection of code solutions to common—and uncommon—problems encountered when working with the Struts Framework....

See more details below
Other sellers (Paperback)
  • All (32) from $1.99   
  • New (10) from $11.73   
  • Used (22) from $1.99   
Jakarta Struts Cookbook

Available on NOOK devices and apps  
  • NOOK Devices
  • Samsung Galaxy Tab 4 NOOK 7.0
  • Samsung Galaxy Tab 4 NOOK 10.1
  • NOOK HD Tablet
  • NOOK HD+ Tablet
  • NOOK eReaders
  • NOOK Color
  • NOOK Tablet
  • Tablet/Phone
  • NOOK for Windows 8 Tablet
  • NOOK for iOS
  • NOOK for Android
  • NOOK Kids for iPad
  • PC/Mac
  • NOOK for Windows 8
  • NOOK for PC
  • NOOK for Mac
  • NOOK for Web

Want a NOOK? Explore Now

NOOK Book (eBook)
BN.com price
(Save 44%)$35.99 List Price


The Jakarta Struts Framework is a popular open source platform for building web applications from top to bottom with Java. While this popularity has led to a wealth of online and in-print documentation, developers still find themselves faced with a number of common tasks that are not clearly and succinctly explained.In these situations, programmers can now turn to the Jakarta Struts Cookbook an amazing collection of code solutions to common—and uncommon—problems encountered when working with the Struts Framework. Among many other recipes, this book explains how to:

  • display data in complex HTML tables
  • use JSP, the JSTL, and JavaScript in your user interface
  • define static and dynamic action forms
  • validate data and respond to errors
  • use Logging, Validation, and Exception Handling
  • integrate Struts with persistence frameworks like Hibernate and iBATIS
This look-up reference is just what today's time-pressed developers need. With solutions to real-world problems just a few page flips away, information is instantly available. And while the book's solutions focus on getting to the point, each recipe's discussion section imparts valuable concept and insight from a Struts veteran.The Jakarta Struts Cookbook is perfect for independent developers, large development teams, and everyone in between who wishes to use the Struts Framework to its fullest potential. Plus, it s completely up-to-date with the latest versions of Framework, so readers can be sure the information is viable.
Read More Show Less

Editorial Reviews

From Barnes & Noble
The Barnes & Noble Review
Apache Struts is today’s most popular framework for building Java web applications: popular enough to have a reliable set of best practices. Now those best practices have been organized into “cookbook” solutions, with full explanations of how they work and how to adapt them.

Jakarta Struts Cookbook covers everything, from setting up Struts through security, testing, and debugging. Need a boilerplate Ant file for compiling, building, and deploying Struts applications? Want to factor your application into more manageable “modules”? Generate radio buttons with values retrieved from a Collection? Validate input? Generate bar charts? Provide a “remember me” login for returning visitors? Monitor client sessions? Create a dynamic Action Form without handcoding unique Java classes? Load XML data? Map SQL data to Java objects? Integrate Struts with Hibernate? It’s all here, along with nearly 120 more recipes. Very tasty. Bill Camarda, from the May 2005 Read Only

Read More Show Less

Product Details

  • ISBN-13: 9780596007713
  • Publisher: O'Reilly Media, Incorporated
  • Publication date: 2/28/2005
  • Edition number: 1
  • Pages: 528
  • Sales rank: 1,053,887
  • Product dimensions: 7.08 (w) x 9.34 (h) x 0.95 (d)

Meet the Author

Bill Siggelkow is an independent consultant specializing in software design, development, and technical training. Bill is an active member of the Atlanta Struts User Group and frequently serves as a presenter for the group. With nearly 20 years of development experience, he has designed and developed systems for the manufacturing, energy marketing, e-commerce, and financial service industries.

Bill enjoys training and mentoring developers in the art of object-oriented programming and web development.

Bill lives in Atlanta, Georgia and has a degree in Industrial Engineering from Georgia Tech.

Read More Show Less

Table of Contents

Scope and Organization;
Assumptions This Book Makes;
Conventions Used in This Book;
Using Code Examples;
Comments and Questions;
Safari Enabled;
Chapter 1: Getting Started: Enabling Struts Development;
1.1 Introduction;
1.1 Downloading Struts;
1.2 Deploying the Struts Example Application;
1.3 Migrating from Struts 1.0 to Struts 1.1;
1.4 Upgrading from Struts 1.1 to Struts 1.2;
1.5 Converting JSP Applications to Struts;
1.6 Managing Struts Configuration Files;
1.7 Using Ant to Build and Deploy;
1.8 Generating Struts Configuration Files Using XDoclet;
Chapter 2: Configuring Struts Applications;
2.1 Introduction;
2.1 Using Plug-ins for Application Initialization;
2.2 Eliminating Tag Library Declarations;
2.3 Using Constants on JSPs;
2.4 Using Multiple Struts Configuration Files;
2.5 Factoring Your Application into Modules;
2.6 Using Multiple Resource Bundles;
2.7 Accessing Message Resources from a Database;
2.8 Selectively Disabling Actions;
Chapter 3: User Interface;
3.1 Introduction;
3.1 Using JSTL;
3.2 Using the Struts-EL Tags;
3.3 Displaying Indexed Properties;
3.4 Using Indexed Properties on Forms;
3.5 Using Indexed Properties in a JSTL Loop;
3.6 Submitting a Form from an Image;
3.7 Generating JavaScript on the Fly;
3.8 Dynamically Changing Select Options Using JavaScript;
3.9 Generating Dynamic Select List Options;
3.10 Filtering Text Input;
3.11 Generating a Set of Related Radio Buttons;
3.12 Handling Unchecked Checkboxes;
3.13 Handling Date Input Fields;
3.14 Setting Tab Order;
3.15 Generating URLs;
3.16 Adding Request Parameters to a Link;
3.17 Using Frames;
3.18 Defeating Browser Caching;
Chapter 4: Tables, Sorting, and Grouping;
4.1 Introduction;
4.1 Creating a Horizontal Bar Chart;
4.2 Creating a Vertical Bar Chart;
4.3 Alternating Table Row Colors;
4.4 Sorting HTML Tables;
4.5 Paging Tables;
4.6 Using the Display Tag Library;
Chapter 5: Processing Forms;
5.1 Introduction;
5.1 Creating Dynamic Action Forms;
5.2 Setting DynaActionForm Initial Values;
5.3 Using a List-Backed Form Property;
5.4 Using a Map-Backed Form Property;
5.5 Lazy Dynamic Action Forms;
5.6 Populating Value Objects from ActionForms;
5.7 Automatically Creating ActionForms;
Chapter 6: Leveraging Actions;
6.1 Introduction;
6.1 Creating a Base Action;
6.2 Relaying Actions;
6.3 Returning the HTTP Response;
6.4 Writing Thread-Safe Actions;
6.5 Forwarding Requests;
6.6 Including the Response from a Servlet or JSP;
6.7 Changing the Current Module;
6.8 Managing Related Operations from a Central Action;
6.9 Submitting a Form from Localized Form Controls;
6.10 Dispatching to Related Operations with Action Mappings;
Chapter 7: Execution Control;
7.1 Introduction;
7.1 Performing Tasks at Application Startup;
7.2 Tracking Client Sessions;
7.3 Monitoring User Logins;
7.4 Forwarding Users to Alternate Destinations;
7.5 Forwarding Users to a Module;
7.6 Creating a Wizard-Style Page Flow;
7.7 Determining the Action Based on User Input;
7.8 Using Wildcards in Action Paths;
7.9 Preventing Double Form Submissions;
7.10 Allowing Users to Upload Files;
7.11 Displaying a File from the Server;
Chapter 8: Input Validation;
8.1 Introduction;
8.1 Reusing Validator Attribute Values;
8.2 Validating Using Regular Expressions;
8.3 Validating Dependent Fields in Struts 1.1;
8.4 Validating Dependent Fields in Struts 1.2;
8.5 Validating an Indexed Property;
8.6 Validating Dates;
8.7 Validating Field Equality with a Custom Validator;
8.8 Validating Field Equality in Struts 1.2;
8.9 Validating Two or More Choices;
8.10 Adding a Custom Validation to a Validator Form;
8.11 Validating a Wizard Form;
8.12 Localizing Validation Rules;
Chapter 9: Exception and Error Handling;
9.1 Introduction;
9.1 Simplifying Exception Processing in an Action;
9.2 Custom Processing for Declared Exceptions;
9.3 Using Exception Error Codes;
9.4 Using a Global Error Page;
9.5 Reporting Errors and Messages from an Action;
9.6 Formatting Error Messages;
Chapter 10: Connecting to the Data;
10.1 Introduction;
10.1 Accessing JDBC Data Sources from an Action;
10.2 Displaying Relational Data;
10.3 Mapping SQL Data to Java Objects;
10.4 Integrating Struts with Hibernate;
10.5 Decoupling Your Application from External Services;
10.6 Integrating Spring with Struts;
10.7 Loading XML Data into Your Application;
10.8 Refreshing Application Data;
Chapter 11: Security;
11.1 Introduction;
11.1 Securing Actions Using a Base Action;
11.2 Checking for User Login on Any Struts Reques t;
11.3 Securing a JSP Page;
11.4 Restricting Actions by Role;
11.5 Implementing "Remember Me" Logins;
11.6 Ensuring Security Across Your Entire Application;
11.7 Allowing a User to Log in Automatically;
11.8 Limiting Access for Specific URLs by Role;
11.9 Letting the Container Manage Security;
11.10 Mixing Application-Managed and Container-Managed Security;
11.11 Configuring Actions to Require SSL;
11.12 Limiting the Size of Uploaded Files;
Chapter 12: Internationalization;
12.1 Introduction;
12.1 Detecting Browser Language Settings;
12.2 Sharing Message Resources with JSTL;
12.3 Using an Application-Wide Locale;
12.4 Changing Locale on the Fly;
12.5 Creating Localized Messages from an Action;
12.6 Displaying Locale-Specific Text;
12.7 Displaying Locale-Specific Images;
12.8 Supporting Character Sets;
12.9 Localizing Look and Feel;
Chapter 13: Testing and Debugging;
13.1 Introduction;
13.1 Deploying an Application Automatically;
13.2 Configuring Struts Logging;
13.3 Adding Logging to Your Own Classes;
13.4 Enabling Remote Debugging;
13.5 Troubleshooting JSP Pages;
13.6 Testing Your Actions with Mock Objects;
13.7 Testing Your Actions in the Container;
13.8 Testing Application Functionality;
Chapter 14: Tiles and Other Presentation Approaches;
14.1 Introduction;
14.1 Reusing a Common Page Layout with Tiles;
14.2 Extending Tile Definitions;
14.3 Displaying Tiles Using a Struts Forward;
14.4 Creating Tabbed Panes;
14.5 Using Tiles for I18N;
14.6 Using Tiles in a Modular Application;
14.7 Reusing a Common Page Layout with SiteMesh;
14.8 Integrating JavaServer Faces with Struts;
14.9 Integrating Struts and Velocity;
14.10 Integrating Struts and XSLT;

Read More Show Less

Customer Reviews

Average Rating 3.5
( 2 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com 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 & Noble.com 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 & Noble.com 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 BN.com 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 & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com 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 BN.com. 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
Sort by: Showing all of 2 Customer Reviews
  • Anonymous

    Posted September 2, 2005

    Not for the First Time Developer

    This book is much better for the more seasoned developer, not the beginner.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted March 21, 2005

    quick to understand solutions

    A major use of Java is in writing web applications. For these, the interaction with and building of an HTML front end is perhaps the first task you face. Java Beans and JSPs have been devised to help you with part of these problems. But Struts improves, by providing a better, and easier development framework. Let's assume you've learnt the rudiments of Struts elsewhere. But sometimes there may be a problem you've got that 'surely' someone has solved. This book is replete with such instances. Siggelkow has subjectively chosen what he considers to be the most common problems. And presents each with its solution. His judgment seems pretty reasonable. You'll find the solutions to be bite-sized and easily understood, in a page or two of exposition. Be aware that this book is not about design issues in your application. That is a higher level of structure and meant for other books. This edition covers the most recent major release of Struts, 1.2. But most of the solutions look viable if you're still on an earlier version. So don't be put off simply because the cover says '1.2'.

    Was this review helpful? Yes  No   Report this review
Sort by: Showing all of 2 Customer Reviews

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