Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Using WildCards in ActionMapping Tutorial

DZone's Guide to

Using WildCards in ActionMapping Tutorial

·
Free Resource

In this tutorial you will learn see how to reduce the number of action mappings by using wildcard characters. Here is an example of struts configuration file using wildcard character.

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

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

<struts-config>

<form-beans>
    <form-bean name="SampleReportForm" type="com.vaannila.reports.SampleReportForm"/>
</form-beans>

<action-mappings>
    <action path="/*Action" type="com.vaannila.reports.{1}Action" name="{1}Form">
        <forward name="success" path="/{1}.jsp" />
    </action>
</action-mappings>

</struts-config>

Here the value of the path attribute contains a wildcard character. The value that matches the asterick(*) in the request URL will be substituted instead of '{1}' in the other attributes.

Let's see with an example. In the index.jsp page the request URL is "/SampleReportAction". So according to the configuration the "SampleReport" matches the asterick, so it will be substituted instead of {1}. For this requset URL the Action class will be SampleReportAction and the ActionForm will be SampleReportForm and when the ActionForward value is success the user will be forwarded to SampleReport.jsp page.

The index.jsp page contains a Generate Report button, which when clicked forwards the request to the SampleReportAction URL, then invokes the SampleReportAction class and displays the SampleReport.jsp page back to the user.

<%@taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<html:form action="/SampleReportAction">
<html:submit value="Generate Report" />
</html:form>
</body>
</html>

Here is the sample report.

You can download the source code of this example by clicking on the Download link below.

Source: Download

War: Download

Topics:

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}