Consulting Training Blog Careers About Us Contact Us
All Classes Will Be Held Virtually – Live Online Intertech's Training Division has been successfully instructing professionals through virtual live online training since the advent of the smartboard. It is a proven form and offers the convenience of live questions, group interaction, and labs with an instructor looking over your shoulder. Because of this, we will continue all classes live but virtually, including Agile and Scrum instruction, so businesses and individual’s seeking professional development can keep moving forward during these unexpected times.

Complete Struts using RAD Training

Course ID: WAS1610
Duration: 3 Days

Upcoming Classes

Click the Get Notified button for priority notification when a class is next scheduled.

Get Notified

On Site/Private

Can't find a class that fits right for you? Contact us to inquire about scheduling your own private class

Contact Us


This course introduces the students to Jakarta Struts 1.2. During the course, students will learn to design and develop Struts based applications using Rational Application Developer (RAD) 7. Many real life, hands-on exercises are used to teach various concepts of Struts.


Bring This Course To You

For groups of 5 or more, let Intertech bring this course to your location. Customized versions tailored towards your objectives are also available.

Learn More

Learning Objectives

  • Understand and explain the Jakarta Struts framework
  • Design and build Struts-based applications 


  • A good understanding of HTML.
  • A good understanding of object-oriented programming using Java.
  • Experience with JSPs and Servlets, with some understanding of JavaBeans.

Course Outline

Overview of Web Applications

  • Tiered Software Architecture
  • Tiered Runtime Environment
  • Tiered Architectures
  • Presentation Layer
  • Web Presentation Layer
  • Business Logic Tier
  • Tier Integration
  • Java Web Applications
  • Java Web Application Architecture
  • Java EE Architecture
  • Web Application Programming Model - MVC
  • Model View Controller
  • A Scenario of Using MVC

Introduction to Struts

  • What is Struts?
  • Why Struts?
  • Struts Components
  • The Controller Layer
  • The View Layer
  • The Form Bean
  • A Simple Action
  • Struts Configuration
  • Define HelloAction
  • Invoking HelloAction
  • Finding Information About Struts

Struts Project Configuration

  • Creating a Project
  • Downloading Struts Distribution
  • Struts Files
  • The web.xml File
  • Struts Configuration Basics
  • Creating Sub-modules
  • Implications of Sub-modules
  • Advanced Sub-module Issues

Basic Struts Programming

  • The Action Class
  • Action Life Cycle
  • The ActionServlet Class
  • The execute() Method
  • Registering an Action
  • The ActionMapping Class
  • Accessing User Input
  • Form Bean
  • Registering Form Bean
  • Form Bean Life Cycle
  • HTML Form Example
  • Accessing User Input
  • Bean Scope
  • Invoking Business Logic
  • Passing Data to Model
  • Using Separate DTO Classes
  • Controlling Page Flow
  • Redirecting the Browser

Basic View Development

  • Basic Form Validation
  • Form Validation Pattern
  • Validation Logic
  • Validation Failure Scenario
  • Configure Validation
  • Error Messages
  • Pre-fill Form Fields
  • Basic Steps in Pre-filling
  • Form Render Scenario
  • Pre-filling After Form Validation Error
  • Pre-filling an Editor Form
  • Basic Input Fields

Struts Tag Libraries

  • Commonality among the Struts Tags
  • HTML Tags
  • html:form
  • html:submit
  • html:text
  • html:password
  • html:link
  • html:errors
  • html:messages
  • html:multibox
  • html:select
  • html:options
  • Bean Tags
  • bean:define
  • bean:message
  • bean:page
  • bean:include
  • bean:cookie
  • bean:resource
  • bean:write
  • bean:header
  • bean:parameter
  • Logic Tags
  • Logic Tags functionality
  • logic:equal
  • logic:greaterEqual and logic:lessEqual
  • logic:lessThan and logic:notEqual
  • logic:notEmpty
  • logic:iterate

JSP Expression Language and Standard Tag Library

  • Basic Usage
  • Built-in Objects
  • Working With Arrays and Maps
  • Operators
  • JSP Standard Tag Library (JSTL)
  • Run Time Version
  • Basic Tags
  • Condition Tags
  • Interator Tags
  • Internationalization (I18N)
  • Setting Preferred Locale
  • Specifying Resource Bundle
  • Display Translated Text
  • Display Number
  • Display Date
  • JDBC Tags
  • Specify Data Source
  • Performing a Query
  • Display Result

Advanced Programming

  • Error Handling
  • Application Error
  • Role of the Action
  • Role of the View
  • Show Data in Error Message
  • Declarative Exception Handling
  • Syntax of Declarative Exception Handling
  • HashMap Property
  • Array Property
  • Sub-beans
  • Dynamic Form Bean
  • Avoid JSP File Name in Links
  • Link to a Forward

Struts Techniques

  • Working With Check Boxes
  • The reset() Scenario
  • Dynamic List Box
  • Form Cancellation
  • Prevent Duplicate Form Submission
  • Multi-Page Flow
  • Multi-Page Flow Approaches
  • Basic Technique
  • The Previous Button Handling
  • Form Validation
  • Preventing Action Proliferation
  • DispatchAction Approach
  • LookupDispatchAction Approach
  • Uploading Files
  • The FormFile Interface
  • Saving File in Database

The Validator Package

  • Enable the Package
  • Validator Configuration Files
  • A sample rule in the file validator-rules.xml
  • validation.xml file
  • Basic Configuration
  • Rule Variables
  • Error Message
  • Common Validation Rules
  • Basic Validation
  • Range Check
  • Length Check
  • Special Types
  • Advanced Rules
  • Client Side Validation
  • Writing Custom Validators

Tiles Framework

  • The Problem
  • A Basic JSP Page
  • Centralized Content
  • Layout Using CSS2
  • Dreameweaver Template
  • Tiles Framework
  • Template Mechanism
  • Create the Template
  • Create Individual Pages
  • Configure Tiles
  • Composite Pages
  • Use the Pages
  • Change Management
  • Overriding Content
  • Template as a Generic Container
  • Specify the Module List
  • Render the Module List from a Template
  • Enable Tiles Framework

Free Resources from Intertech

Complete Guide to Becoming a Full Stack Developer

2 Free Resources: Missed Issues in Software Estimation and Stakeholder Questionnaire

Free Guide: JUnit Best Practices