Struts Applications


Welcome to the Struts Applications Project

The goals of the Struts Applications Project are:

  • to provide example Struts applications,
  • to host Struts extensions and utilities, and
  • to put the code out where the Community can use it, fix it, and maintain it

The Struts Applications Project currently consists of the following sub- projects:

  • AppFuse - A baseline Struts application to be used for future web applications
  • Polls - A survey-management Struts application
  • Struts Action Invocation Framework (SAIF) - Adds features like Action interceptors and Inversion of Control (IoC) to Struts.
  • Struts BSF - A Struts Action implementation that uses BSF-compatible scripting languages.
  • Struts Cocoon - Integrates Struts and Cocoon, using Cocoon for the presentation layer
  • Struts Dialogs - Implements event handling paradigm, state management, provides simplified control flow and facilitates component development.
  • Struts Flow - Brings Cocoon's Control Flow to Struts
  • Struts Resume - An application written using AppFuse as a foundation.
  • Struts Spring - Integrates Struts and the Spring Inversion of Control (IoC) framework.
  • StrutsDoc - A JavaDoc-type documentation tool for Struts and Struts-related configuration files
  • AjaxTags - A modified version of the Struts HTML taglib that adds AJAX functionality in a purely declarative fashion (please see the important note about this project on the AjaxTags page)
  • AjaxChat - A Struts-based chat application utilizing AJAX techniques. This is meant to serve as an example for those wondering how to use AJAX within a Struts app.

An application for starting your Struts-based applications. Checkout from CVS and execute "ant" to instantly be up and running with a Tomcat/MySQL app. Uses Ant, XDoclet, Hibernate, JUnit, Cactus, StrutsTestCase, Canoo's WebTest, Struts Menu, Display Tag Library, JSTL and Struts (including Validator and Tiles). Features include CMA, Remember Me, Self Registration, Password Hint. The fuse to start your apps.

A simple survey application. Deploy the .war file on your servlet container to see it running. Read the instructions provided to see all the options available. Uses Hibernate, Struts, and JSTL.

Struts Action Invoocation Framework (SAIF)
A set of Struts extensions to improve how Struts handles Actions adding features like Action interceptors and Inversion of Control (IoC).

Struts BSF
This project allows Struts Actions to be written in the scripting language of one's choice rather than as Java classes. It uses the Beans Scripting Framework to allow scripts to be written in any language BSF supports like Perl, Python, Ruby, JavaScript, and BeanShell.

Struts Cocoon
This is a Struts 1.1 plugin that integrates Cocoon into the Struts framework. Struts forwards are passed to Cocoon to be rendered in Cocoon XML pipelines. Struts is a familiar and proven application framework and Cocoon is a very powerful and flexibile XML presentation technology. The project includes both the plugin and a slightly modified Struts example web application to show how easily Cocoon can be added to an existing Struts application.

Struts Dialogs
This Struts library allows building stateful web components using Struts and JSP. Do you like JSF component model or portlet visual integration, but want to leverage your knowledge of Struts and JSP? Do you want to get rid of double submit problem? Do you want to create robust multi-page wizards? Do you want to simplify your source code? Try Struts Dialogs!

Struts Flow
Struts Flow is a port of Cocoon's Control Flow to Struts to allow complex workflow to be implemented using continuations-capable JavaScript. The code is based on a proof-of-concept Dave Johnson put together to show how the Control Flow could be extracted from Cocoon.

Struts Resume
An application written using AppFuse as a foundation. Future plans include the ability to create an online resume and render it's contents with XSL/XML or Velocity.

Struts Spring
This project integrates the Spring Framework's Inversion of Control (IoC) into Struts 1.1+. It allows a Struts application to take advantage of IoC with little or no references to Spring. Now, instead of relying on singletons and static factories, Struts actions can have their dependencies automatically resolved.

A JavaDoc-type documentation tool for Struts and Struts-related configuration files. Extensive use of Xalan to transform Struts-related configuration files into text-based documentation.

This project is a modified version of the Struts HTML taglib that adds AJAX functionality. It is a declarative approach, i.e., a developer doesn't have to write any AJAX code themselves, although it is flexible enough to allow you to do so if you wish. At present, any Struts version in the 1.2.x branch is supported (1.2.0 through 1.2.7 at present). All the planned standard handlers are not done yet (read the readme for what that means!), but it is quite useful in it's current form. If you are a Struts developer and want to jump on the AJAX bandwagon with little or no effort, this might be just the ticket! (please see the important note about this project on the AjaxTags page)

We've all heard the buzz about this AJAX thing, and over and over there are questions asked on the Struts mailing lists about how to use AJAX in a Struts app. Well, now you have what is, hopefully, a good real-world example of doing just that! This is your typical chat application ala Yahoo! Chat, built on Struts and utilizing AJAX techniques. It is hoped that this shows how to meld the two together to produce applications that might not otherwise be possible.

Anyone Can Participate

The Project is composed of developers from all around the world, both individuals and engineers from major corporations. All interested developers are welcome to join and participate. Learn more about how to get involved.

Valid HTML 4.01!Valid CSS!Built with Apache Forrest logo