Jakarta Struts Cookbook

Jakarta Struts Cookbook

By: Bill Siggelkow (author)Paperback

1 - 2 weeks availability

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 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 focuse 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.

Create a review

About 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.

Contents

Preface 1. Getting Started: Enabling Struts Development; 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 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; 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 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 5. Processing Forms 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 6. Leveraging Actions 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 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; 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 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; 10. Connecting to the Data 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 11.1 Securing Actions Using a Base Action 11.2 Checking for User Login on Any Struts Request 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 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 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 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 Index

Product Details

  • publication date: 25/02/2005
  • ISBN13: 9780596007713
  • Format: Paperback
  • Number Of Pages: 507
  • ID: 9780596007713
  • weight: 730
  • ISBN10: 059600771X

Delivery Information

  • Saver Delivery: Yes
  • 1st Class Delivery: Yes
  • Courier Delivery: Yes
  • Store Delivery: Yes

Prices are for internet purchases only. Prices and availability in WHSmith Stores may vary significantly

Close