This Confluence has been LDAP enabled, if you are an ASF Committer, please use your LDAP Credentials to login. Any problems file an INFRA jira ticket please.

Child pages
  • Home
281 more child pages
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 171 Next »

Welcome to Struts 2

Struts 2 is a web-based MVC framework that emphasizes simplicity and interoperability. The framework is designed so that you can use as many or as few of its features as you like.

Work in progress!

Struts 2 is at a pre-release, pre-Alpha stage. If you are just getting started with Struts2/WebWork2, we recommend WebWork 2.2 as an entry point. WW2 is stable and production ready. When Struts 2 is released, migration paths for WebWork 2 and Struts 1 developers will be available.

See the Struts 2 release plan for details and status.

Milehigh View

In a conventional web application, requests are often routed to a server page. The server page is responsible for all the processing required by the request.

In a Stuts 2 application, the request first goes to a dispatcher component that selects an action. The action can include an Action class, several Result classes, and even exception handling. The action can also include a set of "interceptors" that are used to apply common concerns to similar requests.

The Action class processes the logic, and selects a Result class. The Result class can either render the response directly or (more often) transfer control to a server page or template page.

To make it easier to access dynamic data obtained by an Action, the framework includes a library of custom tags. The tags interact with the framework's validation and internationalization features, to ensure that input is correct and output is localized. The tag library can be used with JavaServer Pages or FreeMarker templates.

Getting Started

The online documentation is grouped into three areas.


Our overview is your ten minute tour of Struts 2: Who, What, When, Where, and Why.


Our tutorials are designed to get started with the framework soon as possible. We offer an all-purpose "soup to nuts" tutorial as well as specialty tutorials on portlets and database access.


Our in-depth guides focus on specific areas of the framework, such as Views, Third-party Extensions, and the Core framework.


Error rendering macro 'excerpt-include'

No link could be created for 'WW:Overview'.



Our in-depth guides focus on specific areas of the framework, such as Views, the Core framework, and Third-party Extensions.

We started work on a new User Guide, that should simplify learning process. Please feel free to contribute!

Deprecated Guides

These guides are deprecated and were moved to

Migration Guide

Getting here from there.

Version Notes 2.5.x

Version Notes 2.3.x

Version Notes 2.2.x

Version Notes 2.1.x

Release Notes 2.0.x

Struts 2.3 to Struts 2.5

Struts 1 to Struts 2

Comparing Struts 1 and 2

How are Struts 1 and Struts 2 alike? How are they different?

Struts 1 Solutions

Various issues (and hopefully their solutions!) encountered during migrations to Struts 2.

Migration Strategies

Steps and overall strategies for migrating Struts 1 applications to Struts 2.

Migration Tools

Development tools to help aid the migration process.


Migrating Applications to Struts 2

A three-part series by Ian Roughley (Sep 2006)


Roadmap FAQ

What's in store for Struts 2?

A History of Struts 2

Don Brown's summary of events

Webwork 2.2 to Struts 2

Key Changes From WebWork 2

What has been removed or changed from WebWork 2.2 to Struts 2

WebWork 2 Migration Strategies

Steps and overall strategies for migrating WebWork 2 applications to Struts 2.

Contributors Guide



Core Guide TODOs

  • Creating Resources
  • Writing Validators
  • Writing Type Converters
  • Actions
  • Writing Actions
  • Writing Results

Licensing and Copyright


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!

Next: FAQs


Help with WebWork2

  • No labels