This course will teach students how to use Java Struts as a framework to develop web applications that follow the Model/View/Controller design pattern. The topics cover the components of Struts that are available from the Jakarta project of the Apache Foundation. The course illustrates what the components provide and use of them.
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.
Duration : 40 Hrs | 21 Days | 3 - 4 Weeks
Program Contents
Struts Overview
What is Struts?
Model 1 Design Pattern
Model 2 / MVC Design Pattern
Implementing MVC with a Framework
The Struts Framework
Basic Struts Components
Struts Documentation
A Struts-Based Application: Logon
Struts in a Simple Web Application
Stars Information Application
List Stars Flow
Display Star Flow
ActionServlet: the Controller
struts-config.xml
ActionForm: Form State
The execute Method of StarsListAction
The execute Method of StarsDisplayAction
Directing Processing Flow with an ActionForward
Building a View with Tags
Review: Flow through a Typical Struts-Based Application
The Controller
ActionServlet as a Controller
RequestProcessor
Developer Responsibilities
Mapping
Forwards
Lifecycle of an ActionForm
ActionForm Considerations
The reset Method
The validate Method
Action and the Business Model
The execute Method of Action
execute() Method Considerations
Handling an Error
Threading Considerations
Some Best Practices for Action
More Best Practices for Action
Action Mappings
Command Pattern for Web Applications
ActionServlet
Action and Action Mappings
Struts Configuration
Selecting a Forward
Global Forwards
Declarative Exception Handling
Global Exception Handlers
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
Validation
Coarse-Grained Form Beans
The View
Forwarding to a View
Overview of Struts Tags
Struts HTML Tags
Form-Related Tags
Dealing with URLs
Using Error Tags
Displaying Messages
Struts Bean Tags
Struts Logic Tags
Some Struts View Best Practices
Internationalization
I18N and L10N
Resource Bundles
Java's MessageFormat Class
Internationalization in Struts
I18N with Struts Tags
I18N with JSTL tags
I18N within Java Code
Advanced Struts Features
Accessing Bean Properties
DynaActionForm: A Configurable Form
Indexed and Mapped Properties in a Form
Using indexed='true'
Preventing Duplicate Form Submits
Using ForwardAction and IncludeAction
DispatchAction
LookupDispatchAction
Implementing a LookupDispatchAction
Struts Tag Libraries
Building View Components
Struts Tag Libraries
Attributes and Struts Expressions
Building Forms
Forms
Forms and Form Beans
Scope and Duration of Form Data
Managing Hyperlinks
Error Messages
Logic Tags
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
Advanced Configuration
Struts Configuration in Depth
Wildcards
Extensions
The Configuration Object Model
Subclasses
Plug-Ins
Integrating Other Frameworks
Role-Based Security
Chaining Actions
The ComposableRequestProcessor Class
Configuring Command Chains
Modules
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
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
Definitions
Aggregation and Inheritance
The Tiles Plug-In
Forwarding to Definitions
Performance Considerations
Handling Errors
Error Handling Options with Struts
Documenting Errors with ActionMessage
JSP Error Pages
Declarative Java Exception Handling
Logging in Struts
Validation
Validator Overview
Validator Requirements
Configuring Validator Rules
Struts Validators
Configuring the Struts Validators
Configuring Form Validation - global and formset
Configuring Form Validation - form and field
Configuring Form Validation - arg
Configuring Form Validation - var
Validation with Regular Expressions
ValidatorForm verses ValidatorActionForm
Implementing a Validator Method
Other Validator Implications
Page Composition with Tiles
Tiles Overview
Building a Tiles Template
Basic Tiles Example
Tiles Definitions
Additional Options with Definitions
Placing Definitions in a Configuration File
Using the put Tag
Enabling the Tiles Plug-In
Using Tiles
Nested Tags
Why Nested Tags?
Using Nested Tags
Parent and Root Tags
Audience :
Java Servlet and JSP developers who need to use Struts as a framework for MVC Web Application Development
Java programmers with a need to understand the Struts framework and API
Developers who want to integrate Spring Framework in their Applications