Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

(lightbulb) Visit the Struts 2 Wiki for other community-support resources.

Distributions

Note

The Struts 2 distributions are classified "test-build" quality but are suitable for new development by early adopters.

For your convenience, a one-stop all distribution is available. Individual elements of the distribution may also be downloaded separately.

all

The entire distribution, including all the elements. (43mb)

apps

The example applications, as ready-to-deploy WARs. (22mb)

blank

Just the blank application, ready to deploy as a template for new development. (Also included in apps.) (3mb)

docs

The documentation, as provided on the website. (11mb)

lib

The essential dependencies, including the Struts 2 JARs. (3mb)

src

The source code for the framework, ready to build as a Maven project. (18mb)

sj4

The Java 1.4 versions of the Struts and XWork JARs (prepared using RetoTranslator). (2mb)

(lightbulb) If you are migrating from a prior version, see Release Notes 2.0.1 in the Migration Guide.

Maven Snapshots

When a distribution is first made available, it is rated as a development build or "snapshot". Later, the quality of the distribution may be upgraded to "Beta" or "General Availability", based on feedback from the community, and then made available through ibiblio and other public Maven repositories. To obtain an early distribution via Maven, you can specify the ASF Snapshot repository in your POM.

Code Block

<repositories>
  <repository>
    <id>ASF_SNAPSHOT_M2</id>
    <name>ASF Maven 2 Snapshot</name>
    <url>http://people.apache.org/repo/m2-snapshot-repository</url>
  </repository>
</repositories>

Apache Struts 2 in a Nutshell

...

Most often, the Model is represented as a graph of JavaBean objects. The Model should do the "heavy lifting", and the Action will act as a "traffic cop" or adapter. The framework provides sophisticated, automatic type conversion to simplify transfering data between rich domain objects and text-only HTTP requests.

Struts 2

...

architecture in a

...

Struts 2 provides a flexible control layer based on standard technologies like Java Filters, JavaBeans, ResourceBundles, Locales, and XML.

nutshell

  1. The web browser requests the page
  2. The Filter Dispatcher looks at the request and determines the appropriate Action<
  3. The Interceptors automatically apply common functionality to the request like workflow, validation, and file upload handling
  4. The Action method executes, usually storing and/or retrieving information from a database
  5. The Result renders the output, be it HTML, images, or PDF, to the browser

...