LOGO For Immediate Assistance Call 855-211-9361


 Fundamentals of Jakarta Struts

Price: $1,170.00

Call for availability 855-211-9361

Jakarta Struts is an open source project from Apache that provides a framework for building a Model-View-Controller (MVC) architecture into your Web applications. Students will learn to build solid Web applications following many best practices we have used on the desktop for years. The class teaches students to build on the JavaServer Pages Standard Tag Libraries (JSTL) along with the Struts HTML tags for forms to build rich interfaces with validation and internationalization built right in.

Course Overview

By the end of the class students will be able to:

  • Understand the Jakarta Struts framework, and where it fits in building Java-based Web applications
  • Understand the benefits of separating business logic from presentation
  • Learn to work with beans to manipulate UI elements and process user submitted data
  • Learn to validate user input
  • Learn to build tiles for reuse across applications
  • Understand how Struts helps to support internationalization


900 PB Tech Capstone Series: Java Developer Or equivalent experience working with Java and JavaServer Pages(JSP).

Course Outline

  • Struts Intro, Overview, and Setup

    • Understanding Struts
      • Different views of Struts
      • Advantages of Struts
      • Disadvantages of Struts
  • Processing Requests with Action Objects

    • Struts flow of control
    • The six basic steps in using Struts
    • Example: one result mapping
    • Example: multiple result mappings
  • Handling Request Parameters with Form Beans

    • Two new ideas
      • Automatically creating bean to represent request data
      • Using bean:write to output bean properties
    • Defining form beans
    • Declaring form beans
    • Outputting properties of form beans
      • bean:write
      • JSP 2.0 expression language
    • Defining and outputting regular beans
  • Prepopulating and Redisplaying Input Forms

    • Using the Struts html: tags to build HTML forms that have three important characteristics:
      • The textfield names and the bean properties are guaranteed to stay in synch
      • The textfield values can be prepopulated based on the values in a bean.
      • The forms can be redisplayed when they are submitted with incomplete or incorrect values.
  • Using Properties Files (Resource Bundles)

    • Loading properties files
    • Using bean:message
    • Applying properties files
      • To reuse fixed strings
      • To support internationalization
  • DispatchAction and Other Advanced Action Classes

    • Performing different logic based on a radio button, hidden field, or push button value
      • But not repeatedly checking parameter names in the execute method
      • Using DispatchAction
    • Using Struts form-bean capabilities in non-Struts applications
      • Without redoing code in Struts
      • Using ForwardAction
    • Other advanced Action subclasses
  • Declarative Exception Handling

    • Transferring to custom error pages when various exception types are thrown
    • Global exceptions
    • Per-Action exceptions
    • Standard web.xml approach
    • Using custom exception handlers
    • Declaring
    • Defining
  • Manually Validating Input

    • Distinguishing manual validation from automatic validation
    • Performing validation in the Action
      • Error messages in beans
    • Performing validation in the ActionForm
      • Fixed error messages
      • Error messages with substitution
    • Separate error messages
  • Automatically Validating Input

    • Distinguishing manual validation from automatic validation
    • Distinguishing client-side validation from server-side validation
    • Using automatic validation
      • Declare application-wide properties file
      • Add messages to properties file
      • Turn on the automatic validator
      • Put validation rules in validation.xml
      • Put <:html:errors/>: in input page
      • Enable JavaScript validation
  • Laying Out Pages with Tiles

    • Tiles motivations
    • Tiles basics
      • Sketch out desired layout
      • Make template file that represents layout
      • Create JSP pages that define layout pieces
      • Create JSP pages that populate layout
    • Handling relative URLs in Tiles
    • Using Tiles definitions file