EC38 - Struts 2 Programming Workshop - 2 Days

Course Description


Customisation

For on-site courses (i.e. at your premises), we are more than happy to tailor the course agenda to suit your exact requirements. In many cases, we are able to build your in-house standards and naming conventions into the delivered course.


Course Details

INTRODUCTION TO STRUTS
Model View Controller Architecture
Struts2 Framework
Struts2 Features and Enhancements
Struts2 vs. Traditional MVC

FIRST STEPS
Environment Setup
Build Automation Option
Struts 2 Project Structure
Struts2 Components
Steps to Create a Struts 2 Application
Create a Project
Struts2 Classpath Requirements
Create the Input Form
Define Controller Behaviour in Web.xml
Define the Action / View Components in struts.xml
Create the Action Class
Create the View
Additional Setup Configuration
Multiple Result Mappings
Deploying / Testing outside of IDE

CONFIGURATION FILES
web.xml
struts.xml
struts.xml - using Includes
struts-config.xml
struts.properties

ACTIONS
Create Action
Extending The ActionSupport Class
Separating Action / Bean Behaviour
Wildcard Method Selection

TAGS
Form Tags

FORM VALIDATION
Validation in the Action Class
Message Resource Files
Associating Messages with Forms and Actions
Message Problems
Nested Messages
XML Based Validation
Validator Types

TYPE CONVERSION
Array Type Conversion
Collection Type Conversion
Creating a Type Converter
Registering a Type Converter
A More Complex Type Converter Example

ONGL AND THE VALUE STACK
Ongl
The ValueStack
Ognl / ValueStack Named Objects
ValueStack Methods
Accessing ValueStack Properties
Accessing static properties
Accessing Arrays
Accessing Lists
Accessing Maps
The Iterator Tag
Accessing the HttpServletRequest
Adding Properties to the ValueStack
Further JSP Tags
The Ognl / Jsp Expression Language

RESULT TYPES
The Dispatcher Result Type
The Chain Result Type
The Redirect Result Type
The Freemarker Result Type
Other Result Types

LOCALIZATION, INTERNATIONALIZATION (I18N)
Resource Bundles
Locale Property File Example
Access the messages
Switching Locales

INTERCEPTORS
Struts2 Framework Interceptors
Using Interceptors
Specifying Interceptor Stacks
Create Custom Interceptors
The Custom Interceptor Class
Create Action Class
Stacking multiple Interceptors

EXCEPTION HANDLING

TAGS, THEMES AND TEMPLATES
Selecting Themes
How Does a Theme Work?
Creating New Themes

ANNOTATIONS
Create main page
Create Views
Create Action
Configuration Files
Struts 2 Annotations Types

DATABASE ACCESS
Create Action

FILE UPLOADS
File Uploads using Struts2
Error Messages

SENDING EMAIL
Sending Email using Struts2

CREATING RESPONSIVE USER INTERFACES WITH AJAX
Overview of Ajax and Web 2.0 concepts
Creating Ajaxified applications in Struts 2
Handling asynchronous requests with Ajax
Returning JSON and XML data

INTEGRATING STRUTS 2 WITH ALTERNATIVE FRAMEWORKS
Integrating Struts 2 with Java Enterprise Edition and the Spring Framework


Course Enquiry