Programming Tutorials

Editing struts-config.xml in a Struts Application

By: Gokul Verma in Struts Tutorials on 2007-04-04  

The mapping of the request (remember: <some-name>.do) to a specific Action and ActionForm class is done in the struts-config.xml file. This is the edited  file from "struts-blank" to suit a one-page application:

<?xml version="1.0" encoding="ISO-8859-1" ?>

<!DOCTYPE struts-config PUBLIC
 "-//Apache Software Foundation//DTD Struts Configuration 1.0//EN"
 "http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd">

<struts-config>

  <!-- ========== Form Bean Definitions ================= -->
  <form-beans>

    <form-bean      name="submitForm"
                    type="hansen.playground.SubmitForm"/>

  </form-beans>

  <!-- ========== Action Mapping Definitions ============ -->
  <action-mappings>

    <action   path="/submit"
              type="hansen.playground.SubmitAction"
              name="submitForm"
              input="/submit.jsp"
              scope="request">
    <forward name="success" path="/submit.jsp"/>          
    <forward name="failure" path="/submit.jsp"/>          
    </action>

  </action-mappings>

</struts-config>

The struts-config.xml file -

As you can see the file contains two sections: the form-beans section, that lists the ActionForm beans, and the action-mappings.

In the form-beans section you give the bean a logical name (referred to in the action-mapping) and specify the path for the class file.

The action-mappings are the most interesting. The attributes given are these:

path - name of the request: "submit.do". You don't enter the ".do"-part here.
type - the path for the Action class file
name - is the logical name of the form bean (from the form-bean section)
input - validation errors should be shown on this page
scope - specifies how long the form bean should live. You may specify "session" instead.

The forward tag tells the servlet where to go if it receives either "success" or "failure" from the Action class. We'll return to this feature. In our simple case we always return to the same page.

It's wise to standardize on class names. I've used these simple conventions:

Class

Actual name

ActionForm

<action>Form, where <action> is the action-path-name

Action

<action>Action






Add Comment

* Required information
1000

Comments

No comments yet. Be the first!

Most Viewed Articles (in Struts )

Simple example of using the requiredif Validator rule in Struts

Handling Duplicate Form Submissions in Struts

ForwardAction in Struts

Installing and configuring Tomcat and Struts

Protecting JSPs from direct access in Struts

Handling multiple buttons in HTML Form in Struts

Tutorial on Struts Configuration File - struts-config.xml in Struts - from the book: Struts Survival Guide. Basics to Best Practices

ActionErrors and ActionError in Struts

What is Struts? Which Version of Struts to use?

Use of {0} is required and Accessing resource bundles programmatically in Struts

Using Checkbox & Radio Tags, html:select, html:options in Struts Forms

What is a Plug-in and how to use Java plug-ins with Struts?

FAQ: Why are my checkboxes not being set from ON to OFF?

Using JavaScript to submit a form in Struts

Editing struts-config.xml in a Struts Application

Latest Articles (in Struts)