| HTML Tutorials |
|
|
| XML Tutorials |
|
|
| Browser Scripting |
|
|
| Server Scripting |
|
|
| .NET (dotnet) |
|
|
| Multimedia |
|
|
| Web Building |
|
|
| Java Tutorials |
|
|
| Programming Langauges |
|
|
| Soft Skills |
|
|
|
| Struts Using Dynamic Action Form |
|
Dynamic Action Form
|
|
- DynamicActionForm eliminates the need of the FormBean class.The form bean definition can be written into the struts-config.xml file.
- To reduce the development time for the developer,it makes FormBean declarative .
-
To create a Java class for each type of form bean,DynamicActionForm is used as the specialized subclass of ActionForm that allows the creation of the form beans with dynamic sets of properties, without requiring the developer.
We will recreate add form with the help of DynaActionForm in this tutorial.
In the action class,it also shows you how you can validate the use input.
|
|
Adding DynaActionForm Entry in struts-config.xml
|
|
At First,in the struts-config.xml file we will add necessary entry .
The form bean is of the org.apache.struts.action.DynaActionForm type.
To define the property for form bean,the <form-property/> tag is used .
Three properties for our dynamic form bean.
|
<form-bean name="DynaAddressForm"
type="org.apache.struts.action.DynaActionForm">
<form-property name="name" type="java.lang.String"/>
<form-property name="address" type="java.lang.String"/>
<form-property name="email" type="java.lang.String" />
</form-bean>
|
|
|
Adding action mapping
|
|
In struts-config.xml file,add the following action mapping
|
<action path="/DynaAddress" type="roseindia.net.AddressDynaAction"
name="DynaAddressForm"
scope="request"
validate="true"
input="/pages/DynaAddress.jsp">
<forward name="success" path="/pages/success.jsp"/>
<forward name="invalid" path="/pages/DynaAddress.jsp" />
</action>
|
|
|
Creating Action Class
|
|
The following code is for the action class:
|
package academictutorials;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.DynaActionForm;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.action.ActionMessage;
public class AddressDynaAction extends Action
{
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception
{
DynaActionForm addressForm = (DynaActionForm)form;
//Create object of ActionMesssages
ActionMessages errors = new ActionMessages();
//Check and collect errors
if(((String)addressForm.get("name")).equals(""))
{
errors.add("name",new ActionMessage("error.name.required"));
}
if(((String)addressForm.get("address")).equals(""))
{
errors.add("address",new ActionMessage("error.address.required"));
}
if(((String)addressForm.get("email")).equals(""))
{
errors.add("email",new ActionMessage("error.emailaddress.required"));
}
//Saves the error
saveErrors(request,errors);
//Forward the page
if(errors.isEmpty())
{
return mapping.findForward("success");
}
else
{
return mapping.findForward("invalid");
}
}
}
|
|
|
Creating the JSP file
|
|
In the jsp file,we will use the Dyna Form DynaAddressForm created above .
The following example is the code of jsp(DynaAddress.jsp) file
|
<%@ taglib uri="/tags/struts-bean" prefix="bean" %>
<%@ taglib uri="/tags/struts-html" prefix="html" %>
<html:html locale="true">
<head>
<title><bean:message key="welcome.title"/></title>
<html:base/>
</head>
<body bgcolor="white">
<html:form action="/DynaAddress" method="post">
<table>
<tr>
<td align="center" colspan="2">
<font size="4">Please Enter the Following Details</font>
</tr>
<tr>
<td align="left" colspan="2">
<font color="red"><html:errors/></font>
</tr>
<tr>
<td align="right">
Name
</td>
<td align="left">
<html:text property="name" size="30" maxlength="30"/>
</td>
</tr>
<tr>
<td align="right">
Address
</td>
<td align="left">
<html:text property="address" size="30" maxlength="30"/>
</td>
</tr>
<tr>
<td align="right">
E-mail address
</td>
<td align="left">
<html:text property="email" size="30" maxlength="30"/>
</td>
</tr>
<tr>
<td align="right">
<html:submit>Save</html:submit>
</td>
<td align="left">
<html:cancel>Cancel</html:cancel>
</td>
</tr>
</table>
</html:form>
</body>
</html:html>
|
|
|
In index.jsp,add the following line to call the form.
|
<li>
<html:link page="/pages/DynaAddress.jsp">Dyna
Action Form Example</html:link>
<br>
Example shows you how to use DynaActionForm.
</li>
|
|
|
Building Example and Testing
|
|
Go to Struts\strutstutorial directory and type ant on the command prompt to build and deploy application.
This will help to deploy application.
Open the browser and type DynaAddress.jsp page.
In the form,without entering anything and submitting the submit button.
|
Share And Enjoy:These icons link to social bookmarking sites where readers can share and discover new web pages.
Keywords:
struts api,struts tutorial,dynamic html,java struts,struts example,struts apache,struts jakarta,tiles struts,jsp action,struts validation,struts framework,html action,struts scope,struts validate,struts method,form html,javascript action,validator struts,struts redirect,jsp struts,jstl struts,struts parameter
|
|
| HTML Quizes |
|
|
| XML Quizes |
|
|
| Browser Scripting Quizes |
|
|
| Server Scripting Quizes |
|
|
| .NET (dotnet) Quizes |
|
|
| Multimedia Quizes |
|
|
| Web Building Quizes |
|
|
| Java Quizes |
|
|
| Programming Langauges Quizes |
|
|
| Soft Skills Quizes |
|
|
|