Book description
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
Publisher resources
Table of contents
- A Note Regarding Supplemental Files
- Preface
-
1. Getting Started: Enabling Struts Development
- 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
-
2. Configuring Struts Applications
- 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
-
3. User Interface
- 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
- 4. Tables, Sorting, and Grouping
- 5. Processing Forms
-
6. Leveraging Actions
- 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
-
7. Execution Control
- 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
-
8. Input Validation
- 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
- 9. Exception and Error Handling
-
10. Connecting to the Data
- 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
-
11. Security
- 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
-
12. Internationalization
- 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
-
13. Testing and Debugging
- 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
-
14. Tiles and Other Presentation Approaches
- 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
- About the Author
- Colophon
- Copyright
Product information
- Title: Jakarta Struts Cookbook
- Author(s):
- Release date: February 2005
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9780596007713
You might also like
book
Programming Jakarta Struts
Web tier frameworks have really taken off in the past year or so. Developers who used …
book
Java Servlet & JSP Cookbook
With literally hundreds of examples and thousands of lines of code, the Java Servlet and JSP …
book
Java Web Services: Up and Running
This example-driven book offers a thorough introduction to Java's APIs for XML Web Services (JAX-WS) and …
book
Beginning Spring Framework 2
The Spring Framework is designed from the ground up to make it easier than ever to …