Skip Ribbon Commands
Skip to main content

Struts - Struts

Price:

Duration: 3 Days

Audience:

Level:

Technology:

Delivery Method:

Software Assurance Value:

Microsoft CPE:

Course Information

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 Objectives

Course Audience

​Experienced Java Servlet and JSP developers who need to use Struts as a framework for MVC Web Application Development.

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
    • 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
    • ActionServlet as a Controller
    • RequestProcessor
    • Developer Responsibilities
    • Mapping
    • Forwards
    • Lifecycle of an ActionForm
    • ActionForm Considerations
    • The reset Method
    • The validate Method
    • The execute Method of Action
    • execute () Method Considerations
    • Handling an Error
    • Threading Considerations
    • Some Best Practices for Action
    • More Best Practices for Action
    • 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
    • I18N and L10N
    • Resource Bundles
    • Java's MessageFormat Class
    • Internationalization in Struts
    • I18N with Struts Tags
    • I18N with JSTL tags
    • I18N within Java Code
    • 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
    • Error Handling Options with Struts
    • Documenting Errors with ActionMessage
    • JSP Error Pages
    • Declarative Java Exception Handling
    • Logging in Struts
    • 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
    • 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
    • Why Nested Tags?
    • Using Nested Tags
  2. Struts in a Simple Web Application 3. The Controller 4. Action and the Business Model 5. The View 6. Internationalization 7. Advanced Struts Features 8. Handling Errors 9. Validation   10. Page Composition with Tiles   11. Appendix - Nested Tags

Course 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 Schedule
This course is not scheduled yet.