Struts Framework

Struts Framework


Course code: 
Time Unit: 

This advanced course shows JSP and servlet programmers how to build web applications using the Apache Struts framework. Students learn the Struts architecture and see how it captures a great deal of pre-existing best practice: in model/view/controller action mappings, form beans and custom tags for working with HTML forms, input validation, and the Tiles view-building framework. Two chapters near the end of the course cover configuration techniques and other advanced topics.

This version of the course illustrates the use of Struts 1.3

Learning Objectives :

Use Struts actions and action mappings to take control of HTTP requests/responses.
Manage HTML form input and output with form beans, and use these beans to simplify data handling in the controller.
Use JSTL and Struts custom tags to build robust and reusable JSP presentation logic.
Support multiple client locales with various internationalization techniques.
Define validation rules for input forms, and provide clear user feedback.
Build complex presentations using decoupled, reusable tiles, screens and layouts.



Chapter 1. Struts Architecture

MVC and Model 2
Command Pattern
Jakarta Struts
More XML, Less Java!
Action Mappings
JavaBeans in Struts
Working with Forms
Presentation Technology

Chapter 2. Action Mappings

Command Pattern for Web Applications
Action and Action Mappings
Struts Configuration
Selecting a Forward
Global Forwards
Declarative Exception Handling
Global Exception Handlers

Chapter 3. Forms

Working with HTML Forms
Action Forms, a/k/a Form Beans
Relationship to Input
Relationship to Actions
Relationship to the Model
Relationship to Output
DynaActionForm and Map-Backed Forms
Coarse-Grained Form Beans

Chapter 4. Struts Tag Libraries

Building View Components
Struts Tag Libraries
Attributes and Struts Expressions
Building Forms

et. al.
Forms and Form Beans
Scope and Duration of Form Data
Managing Hyperlinks
Error Messages
Logic Tags

Chapter 5. The JSP Standard Tag Library

JSTL Overview
JSP Expression Language
Core Tags
Formatting Tags
SQL Tags
XML Tags
Mixing JSTL, EL, Scripts and Actions
Indexed Properties and Struts HTML Forms

Chapter 6. Internationalization and Localization

i18n in Java
i18n in Actions
i18n in JSTL
i18n in Validation

Chapter 7. Input Validation

Validation in Web Applications
Validation in Struts
The Struts Validator Plug-In
Validating ActionForm Subtypes
Configuring Validation
Standard Validators
The ActionMessages Class
Is Necessary?
Reporting Errors
Multi-Page Validation
Client-Side Validation
Limitations on the Client Side
Implementing a Validator
Implementing ActionForm.validate
Mapping-Based Validation

Chapter 8. Advanced Configuration

Struts Configuration in Depth
The Configuration Object Model
Subclasses and
Integrating Other Frameworks
Role-Based Security
Chaining Actions
The ComposableRequestProcessor Class
Configuring Command Chains

Chapter 9. Under the Hood

Global Objects
Specialized Struts Actions
The Utility Package
The Commons BeanUtils Class
Form Beans as Adapters to the Business Tier
Reusing Validation Rules
Graceful Validation

Chapter 10. Tiles

Consistent Look and Feel
Reusable Layouts and Content
The Tiles Framework
Instantiating Layouts
Body-Wrap Insertions
Tiles and Stylesheets
Working with Tiles Attributes
The Tiles Context
Aggregation and Inheritance
The Tiles Plug-In
Forwarding to Definitions
Performance Considerations

Appendix A. Learning Resources

Appendix B. Quick Reference



Java programming language
Servlets programming
Basic knowledge of XML is recommended but not essential



Java developers wanting to learn the Struts framework.