Course Objectives: | ||
Upon completion of this course, students will be able to:
|
||
Topics : | ||
|
||
Audience | ||
This course is intended for programmers and designers who want to design and develop applications using the Jakarta Struts Model-View-Controller (MVC) framework. | ||
Prerequisites | ||
|
||
Duration | ||
Three Days. |
Outline for Introduction to Struts 1.1 using Rational Application Developer (RAD) v6.0 Training
1. Struts Architecture and Overview
* Objectives
* Review: MVC Model
* Review: Request, Session and Application
* What is Struts?
* Struts Flow
* Components in Struts
* The Model
* The View
* The Controller
* Struts Flow
* struts-config.xml
* struts-config.xml Content
* The <data-sources> element in the struts-config.xml
* The <form-beans> element in the struts-config.xml
* The <global-forwards> element in the struts-config.xml
* The <action-mappings> element in the struts-config.xml
* Sample struts-config.xml
* The Role of web.xml for the Application
* Configuring Struts in the web.xml
* web.xml Content
* Steps to Configuring Struts in the web.xml
* Step 1. Configuring the Action Servlet Instance in the web.xml
* Action Servlet Config Example
* Step 2. Configuring the Action Servlet Mapping in web.xml
* Prefix Mapping Example
* Extension Mapping Example
* Step 3. Configuring the Struts Tag Libraries in the web.xml
* Sample web.xml
* Summary
2. The First Struts Application
* Objectives
* The application
* The Structure
* Setup Needed
* Directory Structure
* index.jsp
* index.jsp - continued
* The index.jsp Page
* struts-config.xml
* MultiplyForm.java
* MultiplyForm.java - continued
* MultiplyAction.java
* MultiplyAction.java - continued
* result.jsp
* The result page
* ApplicationResources.properties
* Summary
3. Development of Struts Applications Using RAD V6
* Objectives
* Directory Structure of a Struts Application
* Directory Structure of a Struts Application – an Example
* RAD Struts Support
* Create a Struts Web Application Project
* View the Struts Project Structure
* Create a Struts JSP
* Insert Struts Tags
* Creating a Struts Form Bean
* Creating a Struts Form Bean – Cont’d
* Create a Struts Action
* Create a Struts Action – Cont’d
* Edit a Struts Configuration File
* Summary
4. Struts Development Cycle
* Objectives
* Struts Development Cycle
* Gathering Requirements
* Defining Screen Requirements
* Detailed screen design
* Determining the Screen Flow
* Defining the ActionMappings in the struts-config.xml
* Struts view components – Data vs. ActionForm Bean
* Defining Screen Requirements – define FormBean
* Developing the FormBean
* Developing the FormBean – The reset( ) Method
* Developing the FormBean – The validate( ) Method
* Developing the FormBean – ActionErrors
* Developing the FormBean – Defining the Message Key
* Developing the Action Class – action and Action Class
* Developing the Action Class
* Developing Actions – The execute() Method
* Developing Actions – ActionForward
* Developing Actions – ActionMapping class
* Developing Actions – execute() example
* execute() Method Example:
* Developing Business Logic – EJBs
* Developing JSPs
* Configuringstruts-config.xml and web.xml
* Build, Pack, and Deploy
* Summary
5. Struts Tag Libraries
* Objectives
* Struts Tag Libraries
* Commonality among the Struts Tags
* Bean Tags
* Bean Tags…
* bean:define>
* <bean:define>...
* <bean:message>
* <bean:page>
* <bean:include>
* <bean:cookie>
* <bean:resource>
* <bean:write>
* <bean:header>
* <bean:parameter>
* HTML Tags
* <html:form>
* <html:submit>
* <html:text>
* <html:password>
* <html:link>
* <html:errors>
* <html:messages>
* <html:messages>
* <html:multibox>
* <html:multibox>
* <html:select>
* <htm:options>
* Logic Tags
* Logic Tags functionality
* <logic:equal>
* <logic:greaterEqual> and <logic:lessEqual>
* <logic:lessThan> and <logic:notEqual>
* <logic:notEmpty>
* <logic:iterate>
* Summary
6. Struts Extensions, Internationalization and Error Handling
* Objectives
* Struts Extensions
* Extension Points
* Plug-ins
* A plug-in example
* Custom Configuration Class
* Writing a Configuration Class
* Custom ActionServlet
* Custom RequestProcessor
* Base Action Class
* Base Form Bean
* Custom JSP Tags
* Internationalization (I18N)
* I18N - continued
* Error Handling
* The ActionError class
* The ActionErrors class
* Error Handling : validate() method of ActionForm
* Displaying the errors found in the validate method
* Error Handling : execute() method of Action
* Error Handling : execute() method of Action - contd
* Declarative Exception Handling
* Syntax of declarative exception handling
* Programmatic Exception Handling
* Logging from Struts
* Logging (cont.)
* Using Commons Logging and Log4J in Struts
* Writing Commons Logging Code
7. Miscellaneous Advanced Features
* Advanced Features Discussed in This Chapter
* Integration of Jakarta Common Libraries - BeanUtils
* Integration of Jakarta Common Libraries - Digester
* Multiple Sub-application Support
* DynaActionForms
* Validators
* Adding the Validator framework to a Struts application
* A tale of three files
* A sample rule in the file validator-rules.xml
* A rule in validator-rules.xml (continued)
* validation.xml file
* Validator Dependency
* Rule Variables
* Error Message
* Error Message (cont.)
* Basic Validation Rules
* Client Side Validation
* Validating multiplication example using DynaActionForm
* Writing Custom Validators
* Validator Class Example
* HTTP Redirection
* Working With Check Boxes
* Context Sensitive Form Validation
8. Database Programming
* Basic Concepts
* MVC Interaction
* Database Connection
* Transaction Management
* Data Source
* Defining a Struts Data Source
* Opening a Connection from a Struts Data Source
* Creating an Editor Form
* Example Form Display Action
9. Templates and Tiles
* Objectives
* Struts Templates
* Defining the Template
* A template
* Using the template in a JSP
* <template:insert>
* <template:put>
* A JSP that uses the template
* Struts Templates
* Templates as UI components
* Struts 1.1 Tiles Support
* Tiles
* Tiles example
* A JSP that uses the layout
* Tiles go beyond templates
* Inheritance in tiles definitions
* Definitions as Struts “forwards”
* Definitions as Struts “forwards”…
* Template or Tiles?
10. Unit Testing Struts Applications
* Objectives
* What is JUnit?
* Why JUnit?
* A JUnit Test
* Running the tests
* JUnit Basics
* Unit Testing Struts Applications
* A simple Struts test case
* MockStrutsTestCase Methods
* MockStrutsTestCase methods…
* Downloading STC
* Testing Strategies
11. JSP Expression Language and Standard Tag Library
* JSP Expression Language (EL)
* Basic Usage
* Built-in Objects
* Working With Arrays and Maps
* Operators
* Full Example
* 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
* Pagination Example
Appendix A. Custom Tag Libraries
* Introduction
* Tag Attributes
* Tag Body
* Tag Library Descriptor
* Tag Library Descriptor Details
* carPrice.tld
* The Java Server Page
* Writing a Simple Tag Handler Class
* Tag Handler Life Cycle
* Rendering Content
* Implementing Empty Body Tag
* Example: CarPriceHandler
* CarPriceHandler…
* carPrice.jsp
* Implementing a Tag With Unprocessed Body
* Handling Tag Bodies
* Implementing Body Processing
* Example: Body Tag Support
* Implementing an Iteration Tag
* Nested Tags
* Summary