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
|