Struts is an open source, Model-View-Controller (MVC) framework developed by The Apache Software Foundation as part of its Jakarta project. Struts is built on top of JSP, Servlets, and custom tag libraries.
After reading the first J2EE Blueprints from Sun with their explanation of MVC and how to accomplish it with custom tags, Servlets, and JSP, one can clearly see that Struts is a manifestation of Sun’s J2EE MVC vision.
Struts addresses many major issues in using vanilla Servlets/JSP to build web systems. It solves the problem of controller complexity by removing the workflow logic from the Servlets, and directing workflow in an XML configuration file. Struts improves on the limited form support in JSP by adding numerous capabilities to form processing including easy validation, easy error display, and the refilling of form input on form retries from a users previous entries. It minimizes the complexity of JSP pages, by integrating with the JSTL tag library, and additionally supplying a very extensive and flexible set of custom tag libraries for many of the standard operations needed in JSP pages.
This course will get you up to speed with Struts in a very short time. It includes all the important concepts, and hands on labs that will have you building working Struts applications in no time flat. In addition, this course covers how to extend the Struts framework to fit your unique needs.
All labs can be done with the Eclipse IDE or a simple editor, and the lab instructions include detailed directions on both environments.
Objectives:
- Understand the shortcomings of servlets/JSP, and the need for a framework like Struts
- Understand MVC, the Struts architecture, Struts controller, Struts views, Struts resource bundles
- Create & configure applications using Struts
- Define views, actions, and FormBeans
- Use Struts for form processing
- Use ActionMappings
- Handle errors and debug Struts applications
- Use Struts Dynamic Forms capabilities
- Utilize the Validator framework with Struts
- Use the Bean, Logic, and HTML Custom Tag Libraries
- Use the JSTL Tag Library with Struts
- Use the Tiles library to manage your Look & Feel
- Customize and extend Struts
- And much more
Course Features
- Lectures 0
- Quizzes 0
- Duration 3 Days
- Skill level All levels
- Language English
- Students 0
- Assessments Yes
Getting started with Struts
- Jakarta Struts Project
- MVC and Struts
- Review Servlets, JSP and Web Applications
- Struts Architecture
Your first Struts Application
- Configuring Struts applications
- Defining views – the input JSP
- Defining ActionForms (FormBeans)
- Defining Actions
Mapping the Model to the View
- Review of Custom Tags
- Introduction to JSTL (JSP Standard Template Library)
- Using the Struts HTML Tags, Struts Bean Tags and Struts Logic Tags
- Pre-populating forms from FormBeans
Errors and Debugging Struts Applications
- Error Handling
- Action Error and ActionErrors
- ActionForm validate() method
- Error Management in Action.execute()
- Error display in JSP pages: tag
- Writing all errors to JSP page
- Writing selected errors to JSP page
- Handling exceptions
- Declarative Exception Handling
- Logging – A critical tool
- Overview of logging
- Simple Servlet Logging
- Jakarta Commons Logging
- Using Commons Logging
- Log Message Levels
- Apache log4j
- Overview, Loggers, Appenders, Layouts, Using log4j
Dynamic Forms and the Validator Framework
- Dynamic Forms
- Issues with Regular Forms
- Overview of Dynamic Forms
- Configuring Dynamic Forms – The DynaActionForm and Form Properties
- Using the Dynamic Form in the Action
- The Validator Framework – Overview
- Validation Rules
- Adding Errors to the Resource Bundle
- Using Validators with Dynamic and Static Forms
- Important Predefined Validators : Email, mask, range, length, date and credit card validation
- Using the Mask Rule
Working with the Tiles Custom Library
- Issues with Managing JSP Complexity
- View Reuse
- The Tiles Framework
- Defining Layouts for View Reuse
- Using tiles:get, tiles:put, tiles:getAsString and tiles:insert
- Tiles Definitions
- JSP Definitions – Uses, Shortcomings
- Using Definitions
- XML Definitions
- The Tiles Plugin
- Tiles Controllers
Additional Capabilities
- Forward and Include Actions
- Setup Actions
- DispatchAction
- Managing Complexity
- Multiple struts config files
- Multiple resource bundles