Struts usando la forma dinamica di azione |
Forma dinamica di azione
|
- DynamicActionForm elimina il bisogno del codice categoria di FormBean. La definizione del fagiolo della forma pu� essere scritta nella lima di struts-config.xml.
- Per ridurre il momento di sviluppo per lo sviluppatore, rende FormBean dichiarativo.
-
Per generare un codice categoria del Java per ogni tipo di fagiolo della forma, DynamicActionForm � usato come la sottoclasse specializzata di ActionForm che permette la creazione dei fagioli della forma con gli insiemi dinamici delle propriet�, senza richiedere lo sviluppatore.
Ricreeremo aggiungiamo la forma con l'aiuto di DynaActionForm in questa lezione privata. Nel codice categoria di azione, esso anche esposizioni voi come potete convalidare l'input di uso.
|
Aggiunta dell'entrata di DynaActionForm in struts-config.xml
|
Inizialmente, nella lima di struts-config.xml aggiungeremo l'entrata necessaria. Il fagiolo della forma � del tipo di org.apache.struts.action.DynaActionForm. Per definire la propriet� per il fagiolo della forma, la modifica di <form-property/> � usata. Tre propriet� per il nostro fagiolo dinamico della forma.
|
<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>
|
|
Aggiunta del tracciato di azione
|
Nella lima di struts-config.xml, aggiungere il seguente tracciato di azione
|
<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>
|
|
Generazione del codice categoria di azione
|
Il seguente codice � per il codice categoria di azione:
|
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");
}
}
}
|
|
Generazione della lima di JSP
|
Nella lima del jsp, useremo la forma DynaAddressForm di Dyna generato sopra. Il seguente esempio � il codice della lima del 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>
|
|
In index.jsp, aggiungere la seguente linea per denominare la forma.
|
<li>
<html:link page="/pages/DynaAddress.jsp">Dyna
Action Form Example</html:link>
<br>
Example shows you how to use DynaActionForm.
</li>
|
|
Esempio e prova della costruzione
|
Andare ai Struts \ indice strutstutorial e scrivere la formica a macchina sul richiamo di ordine a configurazione e schierare l'applicazione. Ci� contribuir� a schierare l'applicazione. Aprire il browser e scrivere la pagina a macchina di DynaAddress.jsp. Nella forma, senza entrare in qualche cosa e presentare il tasto di presentazione.
|
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
|