Kevin Bedell and James Turner provide a rapid introduction to Struts by building a complete, although basic application from scratch. Competent developers quickly learn the basics of how to build Struts applications.

This chapter provides a rapid introduction to Struts by building a
completealthough basicapplication from scratch. The goal of this
chapter is to enable a competent developer to quickly grasp all the basics of
how to build Struts applications.

The chapter continues the longstanding tradition of developing a first
program in a new language that simply prints Hello World!. This enables
developers to quickly grasp the fundamentals of how the program works without
forcing them to think too much about the application requirements. To
demonstrate some of the important features of Struts, however, the application
built here will have a few additional features.

Development of a sample application will be covered including:

Application requirements

Using the Model-View-Controller pattern to design a solution using
Struts

The View component: The HTML form and the form bean

MessageResources and Application.properties
files

The Struts form bean: HelloForm.java

Data validation and using ActionErrors

The Controller component: HelloAction.java

The Model component: HelloModel.java

Passing data to the View using attributes:
Constants.java

Tying it all together: struts-config.xml

Hello World! Application Requirements

The requirements of this application are very basic. They are as follows:

Enable the user to enter a name to say Hello! to and output the string
Hello <name>!.

Don't let the user submit the entry form without entering a name. If
he does, provide an error message to help him fill the form out
correctly.

To add more Controller functionality (and have a bit more fun), the
application should not allow the user to say hello to people they're
"not allowed" to talk to.

To demonstrate Model components, the application should use a Model
component to save the name entered for later.

This basic application provides a little bit of functionality in all three of
the Model, View, and Controller components.