Struts en utilisant la forme dynamique d'action |
Forme dynamique d'action
|
- DynamicActionForm élimine le besoin de la classe de FormBean. La définition d'haricot de forme peut être écrite dans le dossier de struts-config.xml.
- Pour réduire le temps d'élaboration pour le réalisateur, elle rend FormBean déclaratif.
-
Pour créer une classe de Java pour chaque type d'haricot de forme, DynamicActionForm est employé comme sous-classe spécialisée d'ActionForm qui permet la création des haricots de forme avec les ensembles dynamiques de propriétés, sans exiger le réalisateur.
Nous recréerons ajoutons la forme avec l'aide de DynaActionForm dans ce cours d'instruction. Dans la classe d'action, il également expositions vous comment vous pouvez valider l'entrée d'utilisation.
|
Ajouter l'entrée de DynaActionForm dans struts-config.xml
|
Au début, dans le dossier de struts-config.xml nous ajouterons l'entrée nécessaire. L'haricot de forme est du type d'org.apache.struts.action.DynaActionForm. Pour définir la propriété pour l'haricot de forme, l'étiquette de <form-property/> est employée. Trois propriétés pour notre haricot dynamique de forme.
|
<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>
|
|
Ajouter tracer d'action
|
Dans le dossier de struts-config.xml, ajouter tracer suivant d'action
|
<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>
|
|
Créer la classe d'action
|
Le code suivant est pour la classe d'action :
|
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");
}
}
}
|
|
Créer le dossier de JSP
|
Dans le dossier de jsp, nous emploierons la forme DynaAddressForm de Dyna créé ci-dessus. L'exemple suivant est le code du dossier du jsp (DynaAddress.jsp)
|
<%@ 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>
|
|
Dans index.jsp, ajouter la ligne suivante pour appeler la forme.
|
<li>
<html:link page="/pages/DynaAddress.jsp">Dyna
Action Form Example</html:link>
<br>
Example shows you how to use DynaActionForm.
</li>
|
|
Exemple et essai de bâtiment
|
Aller aux Struts \ à annuaire strutstutorial et dactylographier la fourmi sur le message de sollicitation de commande à la construction et déployer l'application. Ceci aidera à déployer l'application. Ouvrir le navigateur et dactylographier la page de DynaAddress.jsp. Sous la forme, sans écrire n'importe quoi et soumettre le bouton de soumission.
|
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
|