Course Catalog
Curriculum Guides
  .NET
  Java/J2EE
  XML
Downloads
Buy Courseware
Customization
News
Authors
Technical Library
FAQ
About Object Innovations
Opportunities
Contact Us
Home

 

 

   
www.objectinnovations.com
info@objectinnovations.com
877-558-7246 (toll free)  
781-466-8012  

114. The Struts Framework

Rev. 1.3

 

This course is now available directly from our partner, Capstone Courseware.

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.

 

Course Duration:  4 days

 

Prerequisites:

 

·         Java programming – Course 103 is excellent preparation.

·         Servlets programming – Course 110.

·         JSP – Course 112.

·         Basic knowledge of XML is recommended but not essential – consider Course 501.

 

1.  Struts Architecture

MVC and Model 2

Command Pattern

Jakarta Struts

More XML, Less Java!

Action Mappings

JavaBeans in Struts

Working with Forms

Validation

Presentation Technology

Tiles

 

1.      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

 

2.      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

 

3.      Struts Tag Libraries

Building View Components

Struts Tag Libraries

Attributes and Struts Expressions

Building Forms

<html:form>

<html:text> et. al.

Forms and Form Beans

Scope and Duration of Form Data

Managing Hyperlinks

Error Messages

Logic Tags

 

4.      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

 

5.      Internationalization and Localization

i18n in Java

i18n in Actions

i18n in JSTL

i18n in Validation

 

6.      Input Validation

Validation in Web Applications

Validation in Struts

The Struts Validator Plug-In

Validating ActionForm Subtypes

Configuring Validation

Standard Validators

Rules

The ActionMessages Class

Is <html:form> Necessary?

Reporting Errors

Multi-Page Validation

Client-Side Validation

Limitations on the Client Side

Implementing a Validator

Implementing ActionForm.validate

Mapping-Based Validation

 

7.      Advanced Configuration

Struts Configuration in Depth

Wildcards

Extensions

The Configuration Object Model

Subclasses and <set-property>

Plug-Ins

Integrating Other Frameworks

Role-Based Security

Chaining Actions

The ComposableRequestProcessor Class

Configuring Command Chains

Modules

 

8.      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

 

9.      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

 

Appendix A:  Learning Resources

 

Appendix B:  Quick Reference


System Requirements

 

Hardware – minimal:   1 GHz, 512 meg RAM, 500 meg disk space

Hardware – recommended:     1.5 GHz, 1 gig RAM, 1 gig disk space

 

Operating system:                    Tested on Windows XP Professional. Course software should be viable on all systems which support a J2SE 5.0 JDK.

 

Software:                                 All free downloadable tools.