Under Construction
We're in the process of migrating this wiki from Open Symphony WebWork2 to Struts Action Framework 2. WebWork is in the process of joining the Apache Struts project. See our incubator page for details. During the migration period, references to WebWork2 and SAF2 will be intermixed.
Struts Action Framework 2 is a web-based MVC framework that emphasizes simplicity and interoperability. SAF 2 is designed to minimize coding so that developers can spend less time fussing with HTTP and HTML plumbing and more time implementing business logic.
The online documentation is grouped into five sections.
Overview
Tutorials
DEPRECATED: moved to http://struts.apache.org/getting-started/
Several tutorials are available to help you get started with the framework, from all-purpose "soup to nuts" tutorials to specialty tutorials on portlets and database access.
Primers
- Bootstrap - few simple steps how to start with Struts 2
- Struts 2 + Spring 2 + JPA + AJAX
- Struts 2 / Hibernate Tutorial
- Struts 2, Spring 3, JPA 2, Maven Example
Speciality
- Extending an Application with Custom Plugins
- CRUD Made Easy
- Creating java web applications with AngularJS and Struts2
- 4 Easy Steps to create a Java based Web Application with Struts2 and jQuery
- JasperReports Tutorial
- Portlet Tutorial
- Developing a Portlet using Eclipse
- Struts 2 JUnit Plugin Tutorial
Examples
Several example applications are bundled with the framework, as ready-to-deploy WARs.
Blank | An "empty" application that you can use as the starting point for your own projects. |
MailReader | A simple application that demonstrates best practices. |
Portlet | An application demonstrating portlet support |
Showcase | A sampling of common (and not so common) use cases. |
Simple examples and links to "powered by" sites |
For the complete source code to the applications, see the source code distribution.
Errata?
To suggest a change or a correction to any part of the documentation, log in and leave a comment on the appropriate page. We are always looking for help with the documentation!