WA1169 Introduction to Struts 1.1 using Tomcat 4 Training and Courseware Course Outline |
|
| 1. Struts Architecture and Overview |
|
- Introduction to Struts
- Objectives
- Review: MVC model
- What is Struts?
- Struts flow
- Components in Struts?
- The Model
- The View
- The Controller
- struts-config.xml
- The <data-sources> element
- The <form-beans> element
- The <global-forwards> element
- The <action-mappings> element
- Sample
- The role of web.xml for the application
- Configuring Struts in web.xml
- web.xml content
- Steps to configuring Struts in web.xml
- Sample
- Summary
|
|
| 2. A Simple Struts Application |
|
- The Goal of the Application
- The input form· The struts-config.xml
- The Form Bean class
- The Action class
- The result page
|
|
| 3 Developing Struts Applications in the Tomcat Environment |
|
- Objectives
- Struts binary distribution
- Directory structure of Struts application
- Deploying a Struts application in Tomcat
|
|
| 4. Struts Development Cycle |
|
- Objectives
- Struts development cycle
- Gathering requirements
- Defining screen requirements
- Data vs. FormBean
- define FormBean
- Determining the screen flow
- Defining the ActionMappings in struts-config.xml
- Developing the FormBean
- The reset ( ) method
- Form validation using the validate ( ) method
- ActionError
- Define message key
- Developing Action Class
- Action and Action Class
- The execute() method
- ActionForward
- ActionMapping class
- execute() example
- Example execute() method
- Developing business logic - EJB
- Developing JSPs
- Configuring struts-config.xml and web.xml
- Build, pack and deploy
|
|
| 5. Struts Tag Libraries |
|
- Objectives
- JSP taglib directive
- Components of a tag library
- The JSP File
- The tag library descriptor
- The tag Handler Class
- An example
- The TLD File - carPrice.tld
- TDL File - example
- The Handler Class - CarPriceHandler.java
- The Handler Class - example
- The JSP File - Carprice.jsp
- Tag Lib Handler life cycle
- Directory structure: where custom tag libraries fit
- Struts TagLib
- Bean tags
- bean:message
- bean:define
- bean:page
- bean:include
- bean:cookie
- HTML tags
- html:form
- html:submit
- html:text
- html:link
- html:password
- Logic tags
- Functionality
- logic:equal
- logic:iterate
- Template tags
|
|
| 6. Struts Plugin, Internationalization and Error Handling |
|
- Objectives
- Struts plugins
- Creating a plugin
- Configuring a plugin
- Internationalization
- Struts Internationalization Mechanisms
- Adding internationalization to the example application
- Formatting messages
- Error Handling
- Struts Error Handling Mechanisms
- ActionError and ActionErrors
- Error handling from a form bean
- Error handling from an action
- Formatting error messages
- Struts exception handling
- Adding error handling to the example application
|
|
| 7. Miscellaneous Advanced Features |
|
- Objectives
- HTTP Redirection
- Dealing with check boxes
- Context sensitive form validation
- DispatchAction
- BeanUtils package
- Digester package
- DynaActionForms
- Multi-application support
- Validators
|
|
| 8. Database Programming |
|
- Configuring and using a Struts Data Source
- Using a J2EE Data Source
- Transaction management from an action
- Sharing a connection with the model classes
- Pre-populating a form for editing data
- Paginated listing of large amounts of data
|
|
| 9. Templates, Tiles and JSTL |
|
- Objectives
- Struts Templates
- Template tags - insert, get and put
- Struts 1.1 tiles support
- Inheritance in tiles definitions
- JSTL overview
- JSTL and Struts
|
|
| 10. Unit Testing Struts Applications - StrutsTestCase |
|
- Objectives
- What is JUnit?
- A sample JUnit test case
- A simple StrutsTest test case
- Executing a StrutsTest test
- Testing strategies
|
|
| 11. JSTL |
|
- Objectives
- The future of Struts Tags
- JSTL - What does it provide?
- JSTL actions
- Core JSTL tags
- Formatting tags
- Database tags
- XML tags
- JSTL Expression Language
- JSTL Implicit Objects
|
|