We teach what we know ... Software!
303.377.6176
Struts 1.2 Programming Training

Course Description  
This three-day 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.

Course Length: 3 Days
Course Tuition: $990 (US)
Prerequisites
Java Programming, Java Web Programming, or Java2 Enterprise Edition. Java Servlet and JSP programming experience, and a basic understanding of HTML and XML is required.
Course Outline  

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

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

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 Tag
Enabling the Tiles Plug-In
Using Tiles

Appendix - Nested Tags
Why Nested Tags?
Using Nested Tags
Parent and Root Tags
 

Contact us for course schedules or more information.


Let's Have Fun

Training can be conducted in a number of different ways outside of a classroom setting. To that end, we offer some free on line tutorials which we will update extensively in the very near future. We also offer mentoring services to help design, integrate and develop large scale complicated systems.
Some of the places where we have taught >>
  • New York City
  • Los Angeles, California
  • Chicago, Illinois
  • Houston, Texas
  • Philadelphia, Pennsylvania
  • Pittsburgh, Pennsylvania
  • Phoenix, Arizona
  • San Antonio, Texas
  • San Diego, California
  • Dallas, Texas
  • San Jose California
  • Buffalo, New York
  • Toronto, Canada
  • Montreal, Canada
  • Detroit, Michigan
  • Indianapolis, Indiana
  • Jacksonville, Florida
  • San Francisco, California
  • Columbus, Ohio
  • Austin, Texas
  • Memphis, Tennessee
  • Baltimore, Maryland
  • Fort Worth, Texas
  • Charlotte, North Carolina
  • El Paso, Texas
  • Milwaukee, Wisconsin
  • Seattle, Washington
  • Boston, Massachusetts
  • Denver, Colorado
  • Louisville, Kentucky
  • Washington DC
  • Nashville, Tennessee
  • Las Vegas, Nevada
  • Portland, Oregon
  • Oklahoma City, Oklahoma
  • Tucson, Arizona
  • Albuquerque, New Mexico
  • Long Beach, California
  • Atlanta, Georgia
  • Fresno, California
  • Sacramento, California
  • New Orleans, Louisiana
  • Cleveland, Ohio
  • Kansas City, Kansas
  • Boulder, Colorado
  • Virginia Beach, Virginia
  • Omaha, Nebraska
  • Oakland, California
  • Miami, Florida
  • Tulsa, Oklahoma
  • Honolulu, Hawaii
  • Minneapolis, Minnesota
  • Colorado Springs, Colorado
©2012 The Hartmann Software Group, Independence Plaza, B-180 1001 16th Street, Denver, Colorado 80265