| | | Copyright |
| | | About the Authors |
| | | Acknowledgments |
| | | We Want to Hear from You! |
| | | Introduction |
| | | | Who Should Read This Book? |
| | | | What Do You Need to Bring to the Table? |
| | | | What Does This Book Cover? |
| | | | Tools You'll Need |
| | | | How This Book Is Organized |
| | | | The Companion Web Site |
| | | | Conventions Used in This Book |
| | | | Updates and Corrections |
| |
| | | Chapter 1. Struts in Context |
| | | | The Parable of the Carpenter |
| | | | What Is Struts? |
| | | | State of Struts: Where Things Are Right Now |
| | | | Faces Behind the Code: Struts Development |
| | | | Where Struts Is Going |
| | | | Conclusions |
| |
| | | Chapter 2. The Model-View-Controller Design Pattern: 'Model 2' JSP Development |
| | | | The Model-View-Controller Design Pattern |
| | | | The Origins of Model 1 / Model 2 |
| | | | How Struts Implements the Model 2 Pattern |
| | | | Conclusions |
| |
| | | Chapter 3. Hello World!: A First Struts Application |
| | | | Hello World! Application Requirements |
| | | | Applying the Model-View-Controller Pattern |
| | | | The View Component: The HTML Form and the Form Bean |
| | | | MessageResources and Application.properties Files |
| | | | The Struts Form Bean: HelloForm.java |
| | | | Data Validation and ActionError s |
| | | | The Controller Component: HelloAction.java |
| | | | The Model Component ( HelloModel.java ) |
| | | | Passing Data to the View Using Attributes: Constants.java |
| | | | Tying It All Together: The struts-config.xml File |
| | | | Conclusions |
| |
| | | Chapter 4. HTTP Protocol: Web Application Communications and Control |
| | | | HTTP Protocol and the Request/Response Cycle |
| | | | Control Information: HTTP Headers and HTTP Response Codes |
| | | | HTTP Cookies and Session/User Management |
| | | | Conclusions |
| |
| | | Chapter 5. JSP, Taglibs, and JSTL: Extending Java onto the Page |
| | | | Servlets and JSP |
| | | | Object Scoping with JSP |
| | | | Hiding Business Logic Using Beans |
| | | | JSP Custom Tags |
| | | | Web Application Deployment |
| | | | JSTL: The Standard Tag Library |
| | | | JSP and J2EE: The Big Picture |
| | | | J2EE and Struts |
| | | | Conclusions |
| |
| | | Chapter 6. The Sample Application: A Financial Portfolio |
| | | | Requirements: Covering Your Rear End |
| | | | Starting with the Wireframes |
| | | | Developing Use Cases |
| | | | Data Sources and Storage |
| | | | Choosing Technologies |
| | | | Conclusions |
| |
| | | Chapter 7. View Components: What the End User Sees |
| | | | The ActionForm |
| | | | JSP Files: The Alpha and the Omega |
| | | | The Perils of Automatic Type Conversion |
| | | | The html:errors Tag |
| | | | Internationalization |
| | | | Conclusions |
| |
| | | Chapter 8. The Controller: Directing the Action |
| | | | The Action Class |
| | | | Accessing the Session and Other Form Beans |
| | | | User Validation and Struts |
| | | | Transferring Control Inside and Outside the Application |
| | | | Conclusions |
| |
| | | Chapter 9. Model Components: Modeling the Business |
| | | | Well-Designed Models |
| | | | Further Isolation Techniques |
| | | | Conclusions |
| |
| | | Chapter 10. The struts-config.xml File: Tying All the Pieces Together |
| | | | The struts-config DTD |
| | | | The Configuration File in Context |
| | | | Conclusions |
| |
| | | Chapter 11. How the Struts Tag Libraries Work: The View from Inside |
| | | | Review of JSP Tag Libraries |
| | | | Understanding How Struts Tags Work: The <bean:page> Tag |
| | | | Comparison to the Java Standard Tag Library |
| | | | Conclusions |
| |
| | | Chapter 12. Struts HTML Tags: Page Construction and Form Processing |
| | | | Struts Tags, JSP Custom Tags, and Java Scriptlets: What's the Right Balance? |
| | | | Using Struts HTML Tags to Render Basic HTML Elements |
| | | | The Basics of Form Processing |
| | | | Check Boxes and Radio Buttons |
| | | | Drop Downs and Select/Option Lists |
| | | | Input Validation and <html:errors> |
| | | | Uploading a File Using <html:file> |
| | | | Conclusions |
| |
| | | Chapter 13. Struts Bean Tags: Storing and Passing Data |
| | | | Using Struts Bean Tags That Access Aspects of the Servlet Context |
| | | | Using Struts Bean Tags That Access Java Resources |
| | | | Using Struts Bean Tags That Access Bean Properties |
| | | | Conclusions |
| |
| | | Chapter 14. Struts Logic Tags: Conditional Presentation Logic |
| | | | Using Struts Logic Tags That Perform Conditional Display Based on a Value |
| | | | Using Struts Logic Tags That Match Substrings |
| | | | Using the Struts Logic Tags for Iteration |
| | | | Using the Struts Logic Tags to Test for Absence or Presence of Values |
| | | | Using the Struts Logic Tags to Transfer Control |
| | | | Conclusions |
| |
| | | Chapter 15. The Nested and Template Struts Tag Libraries: Handling Subproperties and Inserting Content |
| | | | Using the Struts Nested Tags |
| | | | Using the Struts Template Tags |
| | | | Conclusions |
| |
| | | Chapter 16. The Struts Tiles Tag Library: Creation Master Document Templates |
| | | | A Tiles Overview |
| | | | Enabling Tiles |
| | | | The Definitions Configuration File |
| | | | Writing JSP Files for Tiles |
| | | | Modifying Your Actions |
| | | | Putting It All Together |
| | | | Other Aspects of Tiles |
| | | | Conclusions |
| |
| | | Chapter 17. DynaForm s and the Validator |
| | | | DynaForm s: Forms Without Java |
| | | | The Validator: Automating Field Checking |
| | | | Conclusions |
| |
| | | Chapter 18. Using Struts with Enterprise JavaBeans |
| | | | EJBs Fit with Model Components |
| | | | Quick Review of EJB Technologies |
| | | | Using Different EJB Types with Struts |
| | | | A Struts/EJB Sample Application |
| | | | Conclusions |
| |
| | | Chapter 19. Using Struts with Web Services |
| | | | Web Services Fit with Struts Model Components |
| | | | A Quick Review of Web Service Technologies |
| | | | How to Use Struts with a Web Service |
| | | | A Struts/Web Service Sample Application |
| | | | Conclusions |
| |
| | | Chapter 20. Building, Deploying, and Testing Struts Applications |
| | | | An Integrated and Incremental Build/Test Cycle: It's Extreme! |
| | | | Building and Deploying Struts Applications Using Jakarta Ant |
| | | | Developing a build.xml File for Building Struts Applications Using Ant |
| | | | Extreme Struts Development with Integrated and Ongoing Testing |
| | | | Mock Object Testing Using JUnit, StrutsTestCase, and Ant |
| | | | In-Container Testing Using Cactus, JUnit, StrutsTestCase, and Ant |
| | | | Conclusions |
| |
| | | Appendix A. Installing Struts and the Sample Applications from the CD |
| | | | Listing of Applications Included on the Companion CD-ROM |
| | | | Step 1: Install the JDK and Tomcat |
| | | | Step 2: Install MySQL |
| | | | Copy the WAR Files to the Tomcat webapps Directory |
| | | | Restart Tomcat |
| |
| | | Index |