Jakarta Struts Cookbook - Helion
ISBN: 978-05-965-5266-4
stron: 528, Format: ebook
Data wydania: 2005-02-23
Księgarnia: Helion
Cena książki: 159,00 zł
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
Osoby które kupowały "Jakarta Struts Cookbook", wybierały także:
- Metoda dziel i zwyci 89,00 zł, (26,70 zł -70%)
- Język C. Kurs video. Praktyczne wprowadzenie do programowania 99,00 zł, (29,70 zł -70%)
- Wprowadzenie do Javy. Programowanie i struktury danych. Wydanie XII 193,23 zł, (59,90 zł -69%)
- Spring i Spring Boot. Kurs video. Testowanie aplikacji i bezpiecze 125,42 zł, (45,15 zł -64%)
- Maven. Kurs video. Automatyzacja tworzenia aplikacji w Javie 98,98 zł, (39,59 zł -60%)
Spis treści
Jakarta Struts Cookbook eBook -- spis treści
- Jakarta Struts Cookbook
- SPECIAL OFFER: Upgrade this ebook with OReilly
- A Note Regarding Supplemental Files
- Preface
- Audience
- Scope and Organization
- Assumptions This Book Makes
- Conventions Used in This Book
- Programming Conventions
- Typographical Conventions
- Using Code Examples
- Comments and Questions
- Safari Enabled
- Acknowledgments
- 1. Getting Started: Enabling Struts Development
- Introduction
- 1.1. Downloading Struts
- Problem
- Solution
- Discussion
- See Also
- 1.2. Deploying the Struts Example Application
- Problem
- Solution
- Discussion
- See Also
- 1.3. Migrating from Struts 1.0 to Struts 1.1
- Problem
- Solution
- Discussion
- See Also
- 1.4. Upgrading from Struts 1.1 to Struts 1.2
- Problem
- Solution
- Discussion
- See Also
- 1.5. Converting JSP Applications to Struts
- Problem
- Solution
- Discussion
- See Also
- 1.6. Managing Struts Configuration Files
- Problem
- Solution
- Discussion
- See Also
- 1.7. Using Ant to Build and Deploy
- Problem
- Solution
- Discussion
- See Also
- 1.8. Generating Struts Configuration Files Using XDoclet
- Problem
- Solution
- Discussion
- See Also
- 2. Configuring Struts Applications
- Introduction
- 2.1. Using Plug-ins for Application Initialization
- Problem
- Solution
- Discussion
- See Also
- 2.2. Eliminating Tag Library Declarations
- Problem
- Solution
- Discussion
- See Also
- 2.3. Using Constants on JSPs
- Problem
- Solution
- Discussion
- See Also
- 2.4. Using Multiple Struts Configuration Files
- Problem
- Solution
- Discussion
- See Also
- 2.5. Factoring Your Application into Modules
- Problem
- Solution
- Discussion
- See Also
- 2.6. Using Multiple Resource Bundles
- Problem
- Solution
- Discussion
- See Also
- 2.7. Accessing Message Resources from a Database
- Problem
- Solution
- Discussion
- See Also
- 2.8. Selectively Disabling Actions
- Problem
- Solution
- Discussion
- See Also
- 3. User Interface
- Introduction
- 3.1. Using JSTL
- Problem
- Solution
- Discussion
- See Also
- 3.2. Using the Struts-EL Tags
- Problem
- Solution
- Discussion
- See Also
- 3.3. Displaying Indexed Properties
- Problem
- Solution
- Discussion
- See Also
- 3.4. Using Indexed Properties on Forms
- Problem
- Solution
- Discussion
- See Also
- 3.5. Using Indexed Properties in a JSTL Loop
- Problem
- Solution
- Discussion
- See Also
- 3.6. Submitting a Form from an Image
- Problem
- Solution
- Discussion
- See Also
- 3.7. Generating JavaScript on the Fly
- Problem
- Solution
- Discussion
- See Also
- 3.8. Dynamically Changing Select Options Using JavaScript
- Problem
- Solution
- Discussion
- See Also
- 3.9. Generating Dynamic Select List Options
- Problem
- Solution
- Discussion
- See Also
- 3.10. Filtering Text Input
- Problem
- Solution
- Discussion
- See Also
- 3.11. Generating a Set of Related Radio Buttons
- Problem
- Solution
- Discussion
- See Also
- 3.12. Handling Unchecked Checkboxes
- Problem
- Solution
- Discussion
- See Also
- 3.13. Handling Date Input Fields
- Problem
- Solution
- Discussion
- See Also
- 3.14. Setting Tab Order
- Problem
- Solution
- Discussion
- See Also
- 3.15. Generating URLs
- Problem
- Solution
- Discussion
- See Also
- 3.16. Adding Request Parameters to a Link
- Problem
- Solution
- Discussion
- See Also
- 3.17. Using Frames
- Problem
- Solution
- Discussion
- See Also
- 3.18. Defeating Browser Caching
- Problem
- Solution
- Discussion
- See Also
- 4. Tables, Sorting, and Grouping
- Introduction
- 4.1. Creating a Horizontal Bar Chart
- Problem
- Solution
- Discussion
- See Also
- 4.2. Creating a Vertical Bar Chart
- Problem
- Solution
- Discussion
- See Also
- 4.3. Alternating Table Row Colors
- Problem
- Solution
- Discussion
- See Also
- 4.4. Sorting HTML Tables
- Problem
- Solution
- Discussion
- See Also
- 4.5. Paging Tables
- Problem
- Solution
- Discussion
- See Also
- 4.6. Using the Display Tag Library
- Problem
- Solution
- Discussion
- See Also
- 5. Processing Forms
- Introduction
- 5.1. Creating Dynamic Action Forms
- Problem
- Solution
- Discussion
- See Also
- 5.2. Setting DynaActionForm Initial Values
- Problem
- Solution
- Discussion
- See Also
- 5.3. Using a List-Backed Form Property
- Problem
- Solution
- Discussion
- See Also
- 5.4. Using a Map-Backed Form Property
- Problem
- Solution
- Discussion
- See Also
- 5.5. Lazy Dynamic Action Forms
- Problem
- Solution
- Discussion
- See Also
- 5.6. Populating Value Objects from ActionForms
- Problem
- Solution
- Discussion
- See Also
- 5.7. Automatically Creating ActionForms
- Problem
- Solution
- Discussion
- See Also
- 6. Leveraging Actions
- Introduction
- 6.1. Creating a Base Action
- Problem
- Solution
- Discussion
- See Also
- 6.2. Relaying Actions
- Problem
- Solution
- Discussion
- See Also
- 6.3. Returning the HTTP Response
- Problem
- Solution
- Discussion
- See Also
- 6.4. Writing Thread-Safe Actions
- Problem
- Solution
- Discussion
- See Also
- 6.5. Forwarding Requests
- Problem
- Solution
- Discussion
- See Also
- 6.6. Including the Response from a Servlet or JSP
- Problem
- Solution
- Discussion
- See Also
- 6.7. Changing the Current Module
- Problem
- Solution
- Discussion
- See Also
- 6.8. Managing Related Operations from a Central Action
- Problem
- Solution
- Discussion
- See Also
- 6.9. Submitting a Form from Localized Form Controls
- Problem
- Solution
- Discussion
- See Also
- 6.10. Dispatching to Related Operations with Action Mappings
- Problem
- Solution
- Discussion
- See Also
- 7. Execution Control
- Introduction
- 7.1. Performing Tasks at Application Startup
- Problem
- Solution
- Discussion
- See Also
- 7.2. Tracking Client Sessions
- Problem
- Solution
- Discussion
- See Also
- 7.3. Monitoring User Logins
- Problem
- Solution
- Discussion
- See Also
- 7.4. Forwarding Users to Alternate Destinations
- Problem
- Solution
- Discussion
- See Also
- 7.5. Forwarding Users to a Module
- Problem
- Solution
- Discussion
- See Also
- 7.6. Creating a Wizard-Style Page Flow
- Problem
- Solution
- Discussion
- See Also
- 7.7. Determining the Action Based on User Input
- Problem
- Solution
- Discussion
- See Also
- 7.8. Using Wildcards in Action Paths
- Problem
- Solution
- Discussion
- See Also
- 7.9. Preventing Double Form Submissions
- Problem
- Solution
- Discussion
- See Also
- 7.10. Allowing Users to Upload Files
- Problem
- Solution
- Discussion
- See Also
- 7.11. Displaying a File from the Server
- Problem
- Solution
- Discussion
- See Also
- 8. Input Validation
- Introduction
- Configuring the Validator
- See Also
- 8.1. Reusing Validator Attribute Values
- Problem
- Solution
- Discussion
- See Also
- 8.2. Validating Using Regular Expressions
- Problem
- Solution
- Discussion
- See Also
- 8.3. Validating Dependent Fields in Struts 1.1
- Problem
- Solution
- Discussion
- See Also
- 8.4. Validating Dependent Fields in Struts 1.2
- Problem
- Solution
- Discussion
- See Also
- 8.5. Validating an Indexed Property
- Problem
- Solution
- Discussion
- See Also
- 8.6. Validating Dates
- Problem
- Solution
- Discussion
- See Also
- 8.7. Validating Field Equality with a Custom Validator
- Problem
- Solution
- Discussion
- See Also
- 8.8. Validating Field Equality in Struts 1.2
- Problem
- Solution
- Discussion
- See Also
- 8.9. Validating Two or More Choices
- Problem
- Solution
- Discussion
- See Also
- 8.10. Adding a Custom Validation to a Validator Form
- Problem
- Solution
- Discussion
- See Also
- 8.11. Validating a Wizard Form
- Problem
- Solution
- Discussion
- See Also
- 8.12. Localizing Validation Rules
- Problem
- Solution
- Discussion
- See Also
- Introduction
- 9. Exception and Error Handling
- Introduction
- 9.1. Simplifying Exception Processing in an Action
- Problem
- Solution
- Discussion
- See Also
- 9.2. Custom Processing for Declared Exceptions
- Problem
- Solution
- Discussion
- See Also
- 9.3. Using Exception Error Codes
- Problem
- Solution
- Discussion
- See Also
- 9.4. Using a Global Error Page
- Problem
- Solution
- Discussion
- See Also
- 9.5. Reporting Errors and Messages from an Action
- Problem
- Solution
- Discussion
- See Also
- 9.6. Formatting Error Messages
- Problem
- Solution
- Discussion
- See Also
- 10. Connecting to the Data
- Introduction
- 10.1. Accessing JDBC Data Sources from an Action
- Problem
- Solution
- Discussion
- See Also
- 10.2. Displaying Relational Data
- Problem
- Solution
- Discussion
- See Also
- 10.3. Mapping SQL Data to Java Objects
- Problem
- Solution
- Discussion
- See Also
- 10.4. Integrating Struts with Hibernate
- Problem
- Solution
- Discussion
- See Also
- 10.5. Decoupling Your Application from External Services
- Problem
- Solution
- Discussion
- See Also
- 10.6. Integrating Spring with Struts
- Problem
- Solution
- Discussion
- See Also
- 10.7. Loading XML Data into Your Application
- Problem
- Solution
- Discussion
- See Also
- 10.8. Refreshing Application Data
- Problem
- Solution
- Discussion
- See Also
- 11. Security
- Introduction
- 11.1. Securing Actions Using a Base Action
- Problem
- Solution
- Discussion
- See Also
- 11.2. Checking for User Login on Any Struts Reques t
- Problem
- Solution
- Discussion
- See Also
- 11.3. Securing a JSP Page
- Problem
- Solution
- Discussion
- See Also
- 11.4. Restricting Actions by Role
- Problem
- Solution
- Discussion
- See Also
- 11.5. Implementing "Remember Me" Logins
- Problem
- Solution
- Discussion
- See Also
- 11.6. Ensuring Security Across Your Entire Application
- Problem
- Solution
- Discussion
- See Also
- 11.7. Allowing a User to Log in Automatically
- Problem
- Solution
- Discussion
- See Also
- 11.8. Limiting Access for Specific URLs by Role
- Problem
- Solution
- Discussion
- See Also
- 11.9. Letting the Container Manage Security
- Problem
- Solution
- Discussion
- 11.9.3.1. Authentication and authorization
- 11.9.3.2. Secure transport
- See Also
- 11.10. Mixing Application-Managed and Container-Managed Security
- Problem
- Solution
- Discussion
- See Also
- 11.11. Configuring Actions to Require SSL
- Problem
- Solution
- Discussion
- See Also
- 11.12. Limiting the Size of Uploaded Files
- Problem
- Solution
- Discussion
- See Also
- 12. Internationalization
- Introduction
- 12.1. Detecting Browser Language Settings
- Problem
- Solution
- Discussion
- See Also
- 12.2. Sharing Message Resources with JSTL
- Problem
- Solution
- Discussion
- See Also
- 12.3. Using an Application-Wide Locale
- Problem
- Solution
- Discussion
- See Also
- 12.4. Changing Locale on the Fly
- Problem
- Solution
- Discussion
- See Also
- 12.5. Creating Localized Messages from an Action
- Problem
- Solution
- Discussion
- See Also
- 12.6. Displaying Locale-Specific Text
- Problem
- Solution
- Discussion
- 12.6.3.1. Using the Struts bean tags
- 12.6.3.2. Using the JSTL format tags
- See Also
- 12.7. Displaying Locale-Specific Images
- Problem
- Solution
- Discussion
- See Also
- 12.8. Supporting Character Sets
- Problem
- Solution
- Discussion
- See Also
- 12.9. Localizing Look and Feel
- Problem
- Solution
- 12.9.2.1. Using Struts tags
- 12.9.2.2. Using JSTL tags
- Discussion
- See Also
- 13. Testing and Debugging
- Introduction
- 13.1. Deploying an Application Automatically
- Problem
- Solution
- Discussion
- See Also
- 13.2. Configuring Struts Logging
- Problem
- Solution
- Discussion
- See Also
- 13.3. Adding Logging to Your Own Classes
- Problem
- Solution
- Discussion
- See Also
- 13.4. Enabling Remote Debugging
- Problem
- Solution
- 13.4.2.1. JDK 1.3
- 13.4.2.2. JDK 1.4
- Discussion
- See Also
- 13.5. Troubleshooting JSP Pages
- Problem
- Solution
- Discussion
- See Also
- 13.6. Testing Your Actions with Mock Objects
- Problem
- Solution
- Discussion
- See Also
- 13.7. Testing Your Actions in the Container
- Problem
- Solution
- Discussion
- See Also
- 13.8. Testing Application Functionality
- Problem
- Solution
- Discussion
- See Also
- 14. Tiles and Other Presentation Approaches
- Introduction
- 14.1. Reusing a Common Page Layout with Tiles
- Problem
- Solution
- Discussion
- See Also
- 14.2. Extending Tile Definitions
- Problem
- Solution
- Discussion
- See Also
- 14.3. Displaying Tiles Using a Struts Forward
- Problem
- Solution
- Discussion
- See Also
- 14.4. Creating Tabbed Panes
- Problem
- Solution
- Discussion
- See Also
- 14.5. Using Tiles for I18N
- Problem
- Solution
- Discussion
- See Also
- 14.6. Using Tiles in a Modular Application
- Problem
- Solution
- Discussion
- See Also
- 14.7. Reusing a Common Page Layout with SiteMesh
- Problem
- Solution
- Discussion
- See Also
- 14.8. Integrating JavaServer Faces with Struts
- Problem
- Solution
- Discussion
- See Also
- 14.9. Integrating Struts and Velocity
- Problem
- Solution
- Discussion
- See Also
- 14.10. Integrating Struts and XSLT
- Problem
- Solution
- Discussion
- See Also
- About the Author
- Colophon
- SPECIAL OFFER: Upgrade this ebook with OReilly