Books & Videos

Table of Contents

  1. Chapter 1 Getting Started: Enabling Struts Development

    1. Introduction

    2. Downloading Struts

    3. Deploying the Struts Example Application

    4. Migrating from Struts 1.0 to Struts 1.1

    5. Upgrading from Struts 1.1 to Struts 1.2

    6. Converting JSP Applications to Struts

    7. Managing Struts Configuration Files

    8. Using Ant to Build and Deploy

    9. Generating Struts Configuration Files Using XDoclet

  2. Chapter 2 Configuring Struts Applications

    1. Introduction

    2. Using Plug-ins for Application Initialization

    3. Eliminating Tag Library Declarations

    4. Using Constants on JSPs

    5. Using Multiple Struts Configuration Files

    6. Factoring Your Application into Modules

    7. Using Multiple Resource Bundles

    8. Accessing Message Resources from a Database

    9. Selectively Disabling Actions

  3. Chapter 3 User Interface

    1. Introduction

    2. Using JSTL

    3. Using the Struts-EL Tags

    4. Displaying Indexed Properties

    5. Using Indexed Properties on Forms

    6. Using Indexed Properties in a JSTL Loop

    7. Submitting a Form from an Image

    8. Generating JavaScript on the Fly

    9. Dynamically Changing Select Options Using JavaScript

    10. Generating Dynamic Select List Options

    11. Filtering Text Input

    12. Generating a Set of Related Radio Buttons

    13. Handling Unchecked Checkboxes

    14. Handling Date Input Fields

    15. Setting Tab Order

    16. Generating URLs

    17. Adding Request Parameters to a Link

    18. Using Frames

    19. Defeating Browser Caching

  4. Chapter 4 Tables, Sorting, and Grouping

    1. Introduction

    2. Creating a Horizontal Bar Chart

    3. Creating a Vertical Bar Chart

    4. Alternating Table Row Colors

    5. Sorting HTML Tables

    6. Paging Tables

    7. Using the Display Tag Library

  5. Chapter 5 Processing Forms

    1. Introduction

    2. Creating Dynamic Action Forms

    3. Setting DynaActionForm Initial Values

    4. Using a List-Backed Form Property

    5. Using a Map-Backed Form Property

    6. Lazy Dynamic Action Forms

    7. Populating Value Objects from ActionForms

    8. Automatically Creating ActionForms

  6. Chapter 6 Leveraging Actions

    1. Introduction

    2. Creating a Base Action

    3. Relaying Actions

    4. Returning the HTTP Response

    5. Writing Thread-Safe Actions

    6. Forwarding Requests

    7. Including the Response from a Servlet or JSP

    8. Changing the Current Module

    9. Managing Related Operations from a Central Action

    10. Submitting a Form from Localized Form Controls

    11. Dispatching to Related Operations with Action Mappings

  7. Chapter 7 Execution Control

    1. Introduction

    2. Performing Tasks at Application Startup

    3. Tracking Client Sessions

    4. Monitoring User Logins

    5. Forwarding Users to Alternate Destinations

    6. Forwarding Users to a Module

    7. Creating a Wizard-Style Page Flow

    8. Determining the Action Based on User Input

    9. Using Wildcards in Action Paths

    10. Preventing Double Form Submissions

    11. Allowing Users to Upload Files

    12. Displaying a File from the Server

  8. Chapter 8 Input Validation

    1. Introduction

    2. Reusing Validator Attribute Values

    3. Validating Using Regular Expressions

    4. Validating Dependent Fields in Struts 1.1

    5. Validating Dependent Fields in Struts 1.2

    6. Validating an Indexed Property

    7. Validating Dates

    8. Validating Field Equality with a Custom Validator

    9. Validating Field Equality in Struts 1.2

    10. Validating Two or More Choices

    11. Adding a Custom Validation to a Validator Form

    12. Validating a Wizard Form

    13. Localizing Validation Rules

  9. Chapter 9 Exception and Error Handling

    1. Introduction

    2. Simplifying Exception Processing in an Action

    3. Custom Processing for Declared Exceptions

    4. Using Exception Error Codes

    5. Using a Global Error Page

    6. Reporting Errors and Messages from an Action

    7. Formatting Error Messages

  10. Chapter 10 Connecting to the Data

    1. Introduction

    2. Accessing JDBC Data Sources from an Action

    3. Displaying Relational Data

    4. Mapping SQL Data to Java Objects

    5. Integrating Struts with Hibernate

    6. Decoupling Your Application from External Services

    7. Integrating Spring with Struts

    8. Loading XML Data into Your Application

    9. Refreshing Application Data

  11. Chapter 11 Security

    1. Introduction

    2. Securing Actions Using a Base Action

    3. Checking for User Login on Any Struts Reques t

    4. Securing a JSP Page

    5. Restricting Actions by Role

    6. Implementing "Remember Me" Logins

    7. Ensuring Security Across Your Entire Application

    8. Allowing a User to Log in Automatically

    9. Limiting Access for Specific URLs by Role

    10. Letting the Container Manage Security

    11. Mixing Application-Managed and Container-Managed Security

    12. Configuring Actions to Require SSL

    13. Limiting the Size of Uploaded Files

  12. Chapter 12 Internationalization

    1. Introduction

    2. Detecting Browser Language Settings

    3. Sharing Message Resources with JSTL

    4. Using an Application-Wide Locale

    5. Changing Locale on the Fly

    6. Creating Localized Messages from an Action

    7. Displaying Locale-Specific Text

    8. Displaying Locale-Specific Images

    9. Supporting Character Sets

    10. Localizing Look and Feel

  13. Chapter 13 Testing and Debugging

    1. Introduction

    2. Deploying an Application Automatically

    3. Configuring Struts Logging

    4. Adding Logging to Your Own Classes

    5. Enabling Remote Debugging

    6. Troubleshooting JSP Pages

    7. Testing Your Actions with Mock Objects

    8. Testing Your Actions in the Container

    9. Testing Application Functionality

  14. Chapter 14 Tiles and Other Presentation Approaches

    1. Introduction

    2. Reusing a Common Page Layout with Tiles

    3. Extending Tile Definitions

    4. Displaying Tiles Using a Struts Forward

    5. Creating Tabbed Panes

    6. Using Tiles for I18N

    7. Using Tiles in a Modular Application

    8. Reusing a Common Page Layout with SiteMesh

    9. Integrating JavaServer Faces with Struts

    10. Integrating Struts and Velocity

    11. Integrating Struts and XSLT

  1. Colophon