Create new JBoss Tools Documentation Jira issue

This will launch the Jboss Tools Jira page - to complete your feedback please login if needed, and submit the Jira.

JBoss.orgCommunity Documentation

Struts Tools Reference Guide

Version: 3.1.0.GA


1. Introduction
1.1. Key Features of Struts Tools
1.2. Other relevant resources on the topic
2. Projects
2.1. Creating a New Struts Project
2.2. Importing an Existing Struts Project with Any Structure
2.3. Adding Struts Capability to an Existing Web Application
2.4. Relevant Resources Links
3. Editors
3.1. Web.xml Editor
3.2. Graphical Editor for Struts Configuration Files
3.2.1. Diagram View
3.2.2. Tree View
3.2.3. Source View
3.3. Graphical Editor for Tiles Files
3.3.1. Create New Tiles File
3.3.2. Tree View
3.3.3. Diagram View
3.3.4. Source
3.4. Graphical Editor for Struts Validation Files
4. Modules
4.1. When Importing a Struts Project
4.2. Editing Modules in an Existing Project
4.3. Adding New Modules
5. Code Generation
6. Struts Configuration File Debugger
7. Customizable Page Links Recognizer
8. Struts Project Verification
9. Relevant Resources Links

If you prefer to develop web applications using Struts technology JBoss Tools also meet your needs. The professional developer toolset provides all necessary editors and wizards for creating Struts resources that enhances the process of building high-quality web applications.

Note:

Note that JBoss Tools support the Struts 1.1, 1.2.x versions.

In this guide you will learn how to take advantage of Struts support that JBoss Tools provide.

JBoss Tools provide the following functionality when working with Struts:

  • Create new Struts projects

  • Import (open) existing Struts projects. You can import any project structure

  • Add Struts capabilities to any existing Eclipse project

  • Import and add Struts capabilities to any existing project created outside Eclipse.

Now, we'll focus on all these points more fully.

JBoss Tools provides a New Struts Project Wizard that radically simplifies the process for getting started with a new Struts project. You just need to follow these steps:


  • On this form, provide the Project Name. You can also select where to create the project or use the default path.

    Next to Struts Environment set which Struts version to use.


Tip:

Don't put spaces in project names since some OS could experience problems with their processing and searching these files.

You can select the KickStart template, then the project created will include a simple Hello World type application that is ready to run.


  • Next, you register this application with the current servlet container defined for your workspace (JBoss AS, by default) in order to allow you to test your application more easily while still developing it. A new entry will be added in the servlet container configuration file to enable running the application in-place (called null deployment or link deployment). Uncheck the "Target Server" check box if for some reason you don't want to register your application at this point.


  • On the next form, you can select the TLD files to include in this project:


After the project is created, you should have the following project structure (if you used the KickStart template):


Tip:

If you want to hide the jar files from Web App Libraries in view, select the down-pointing arrow in the upper right corner, select Filters..., check the box next to Name filter patterns (matching names will be hidden), and type *.jar into the field. Then, click OK.

Here, we'll consider how to add Struts functionality (Struts libraries, tag libraries and a Struts configuration file) to any existing Web application project in your Eclipse workspace.

By adding a Struts Nature to your project, you can now edit files using JBoss Tools editors, such as the Struts configuration editor and the JBoss Tools JSP editor. To take advantage of this just right-click the project and select JBoss Tools > Add Struts Capabilities from the context menu. This will start the process of adding all necessary libraries and files to make a Web Struts project from your one.


In the wizard you should point to location of your deployment descriptor file web.xml and name of the project.


After hitting Next, you will see the following screen. This screen simply means that you need to add at least one Struts module to your project to make this project a Struts project. Adding a Struts module means that a new struts-config.xml will be added to your project and registered in the web.xml file. In addition, all required Struts libraries will be added. To add a Struts module, select the Add Struts Support button.


Here you can select what Struts Version, Servlet Class, URL Pattern and TLDs to add to this project.


When done, you will see the default Struts module configuration information. See how to Edit Struts modules.


On the last screen you can set the different folders for your project as well as register this application with a servlet container. If you want the libraries (.jar files) will be automatically added to your project, click on the checkbox Add Libraries.


When done, you can open end edit the struts-config.xml file using useful Struts configuration file editor provided by JBDS. (The Struts configuration is shown below in the Tree viewer).


In this chapter we'll introduce you to featured graphical editors for specific Struts files such as Struts Configuration files, Tiles files, Struts Validation files and web.xml.

First, let's dwell on the Struts Configuration file editor.

This editor has three views with different representation of struts-config.xml: Diagram, Tree and Source. The views can be selected via the tabs at the bottom of the editor. Any changes made in one view are immediately visible when you switch to any other view.

Now, we'll consider every view in more detail.

The Tree view represents the different elements of the Struts application that are organized into functional categories on the left-hand side and a form for editing the properties of currently selected items on the right-hand side.


You can right-click on any node in the category tree and perform appropriate operations through a context menu. For instance, by right-clicking on the action-mappings category node, you can add new actions to the application.


Let's consider the tree on the left more closely.

  • Under the data-sources node you can create a Data Source object that will be configured and made available as a servlet context attribute.

  • The form-beans node is meant for creating a set of form bean descriptors for this module. Every created element under this node is a JavaBean that implements the org.apache.struts.action.ActionForm class. Use the Properties editor on the right to adjust properties specific to every created form-bean.

  • The global-exceptions node is intended for registering the handlers for the exceptions that might be thrown by an Action object.

  • Use the global-forwards node to add, edit or delete a global forwards that represent ActionForward objects available to all Action objects as a return value.

  • The controller node allows you to configure the controller properties.

  • Under the resources node you can add, delete, or edit message resources.

  • Under the plug-ins node you can define a Struts plug-in. Right-click the node, select Create Plug-in and specify the plug-ib Id and ClassName by pointing to the Java class which implements the org.apache.struts.action.PlugIn interface.

Here, you'll know how to make use of the special graphical editor for Tiles configuration files.

The editor has three main views: Tree, Diagram and Source. The views can be selected via the tabs at the bottom of the editor. Any changes made in one view are immediately visible when you switch to any other view.

Before we consider each view of the editor, let's look at the way of creating new Tiles files.

Providing full support for development Struts applications JBoss Tools comes with a visual validation editor. To open the editor double-click on the validation file or if you don't have it create a new one.

To create a new validation file, right click any folder in Project Explorer and select File > New > Other... from the context menu and then JBoss Tools Web > Struts > Validation File.


The validation editor works with five modes: Formsets, Validators, Constants and standard Tree and Source that you can easily switch over using tabs at the bottom of the editor.

The Formsets view shows forms and their elements on the left side and the dialogue for defining their validation rules on the right side.


The Constants view let you set constant values for your validation rules.


The validation file can also be viewed in a Tree view.


At any point you have full control over the source by switching to the Source view. Any editing in this view will immediately be available in other views of the editor.


You can also open your own custom or Struts-standard validation-rules.xml file.

The Validators view shows the validation rules for a selected validator. You can of course add your own rules.


Here are the validation rules shown in the Source mode.


JBoss Tools support working with Struts projects that have multiple modules. You can easily do the following:

  • Add new modules

  • Edit modules for an existing project or during Struts project import

Now, let's discuss this functionality in more detail.

JBoss Tools comes with a code generation feature. You can generate stub code for Struts Actions, FormBeans, Forwards and Exceptions.

The code generation that JBoss tooling provides is based on Velocity templates which can be modified for your use. The templates are located at {JBossStudioHome} > templates > codegeneration.

There are a number of ways to invoke code generation. One is simply right-clicking the Struts diagram and selecting Generate Java Code....


On this screen you can select for which elements to generate code. If you select Next you will be able to specify more options for each of the categories you selected.


Tip:

Please be careful not to override your existing files.

When generation is complete, a result window will appear letting you know how many classes were generated:


You don't always have to generate code for all elements at once. You can invoke generation for just an individual Struts artifact as well. Right-click an element on the diagram of the Struts configuration file and select Generate Java Code... from the context menu.


The same can be done from within the Tree viewer for the editor of the Struts configuration file.


JBoss Tools come with Struts configuration file debugger. It allows you to set break points on Struts diagram and then simply launch the server in debug mode.

Simply right click an Action or a page and select Add Breakpoint.


Custom page links allow you to define custom Struts page links that will be recognizable in the Struts application diagram. You can define these links by selecting Window > Preferences from the menu bar and then selecting JBoss Tools > Web > Struts > Customization from the Preferences dialog box.


In this section we'll consider one more functionality that JBoss Tools provide for Struts projects, namely adjusting projects verification.

To configure Struts project verification select Window > Preferences from the menu bar, select JBoss Tools > Web > Verification from the Preferences dialog box and then expand the Struts Rules node.


Suppose you are working in the Source viewer for a Struts configuration file as shown below:


While typing a class name or entering it from the graphical editor, you might make a minor typo (like "sample.GreetingAction1" instead of "sample.GreetingAction" ). After saving the file, verification checks to make sure everything is correct and finds the error below:


Notice that the Package Explorer View shows a marked folder and a marked file where the error is.

You can place the cursor over the line with the error to view a detailed error message:


The verification also checks to make sure you have specified the correct JSP page for the forward:


Once you place the cursor over the line, you can see the error message:


You can always invoke the verification by switching to the Diagram viewer, right-clicking and selecting Verify from the context menu:


Find out necessary information on Struts technology if you don't know enough.

In summary, this reference should help you to get familiar with those parts of JBoss Tools which are meant for development with Struts technology. If you've carefully gone through the document, you should know now how to create/import Struts project or enable Struts capabilities for an existing web project as well as organize and edit all necessary staff for your Struts application using a set of views and editors provided by JBoss Tools.

If you'd like to contribute your feedback is always appreciated. You can leave your questions and suggestions on our Forum.

We hope, this guide helped you to get started with the JBoss Struts Tools. Besides, for additional information you are welcome on JBoss forum.