|
|
|
Configuration: Windows XP Internet Explorer 6.0
Salut ^^
je suppose que tu utilise Struts ? Si tel est le cas, tu n'as pas besoin d'avoir une page de control de saisie, tu peux géré ca avec la fonction validate de ton Form. Pour ton probleme, il suffirai de garder tes variables que tu transferai de control1 a form 2 et de form 2 a control2(logique) en passant par les jsp, avec des requestSetparameters et des getparameters. Tu met tes variables dans tes forms en hidden pour les envoyer au controlleurs. Meme si le controlleurs n'agit pas sur ces varaibles tu peux toujours les garder ;) Sinon, tu peux faire une classe metiers géantes ou tu mettrai toutes les varaibles qui t'interessent afin de les valider a la fin(page finale). est ce clair ? ^^ |
MErci beaucoup pour ton aide, j'ai trouvé mon erreur. j'avais placé au mauvais endroit les input.
Maintenant ça marche Encore merci |
Bonjour, désolé de remonter cet ancien topic mais ça correspond tout à fait à mon problème.
Donc voilà, je débute sur Struts et j'ai le même problème que David mais je n'ai pas réussis à le résoudre.
Je m'explique, en gros j'ai un premier formulaire, quand l'internaute valide on passe directement au 2eme formulaire, et lorsqu'on le valide on a un récapitulatif de toutes les informations saisies dans les 2 formulaires.
Comme David, les données saisies dans le premier formulaire ne s'affichent pas à la fin ( null ). Et ce même en passant les données du premier formulaire en caché dans le 2eme. Bon, j'aimerai bien trouver une solution sans avoir à les passer de cette manière de toute façon... mais j'ai juste essayé dans le doute.
Voilà mes fichiers (j'ai enlevé les parties inutiles pour plus de lisibilité) :
[--------------------------formulaire.personne.jsp-------------------------------]
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
...
<html:form action="/validerFormulaire1">
<table>
<tr>
<td>Pseudonyme</td>
<td><html:text property="pseudo" size="15" /></td>
</tr>
<tr>
<td>Mot de passe</td>
<td><html:password property="mdp" size="15" redisplay="false" /></td>
</tr>
<tr>
<td> <br></td>
</tr>
<tr>
<td>Nom</td>
<td><html:text property="nom" size="20"/></td>
</tr>
<tr>
<td>Prénom</td>
<td><html:text property="prenom" size="20" /></td>
</tr>
<tr>
<td>Age</td>
<td><html:text property="age" size="3"/></td>
</tr>
</table>
<br><br>
<table>
<tr>
<td><html:submit value="Valider"/></td>
<td><html:reset value="Rétablir"/></td>
<td><html:button property="btnEffacer" value="Effacer" onclick="effacer()"/></td>
</tr>
</table>
</html:form>
[-------------------------formulaire2.personne.jsp-----------------------------]
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%
// on récupère les données
String pseudo = (String)request.getAttribute("pseudo");
String mdp = (String)request.getAttribute("mdp");
String prenom = (String)request.getAttribute("prenom");
String nom = (String)request.getAttribute("nom");
String age = (String)request.getAttribute("age");
%>
...
<html:form action="/validerFormulaire2">
<table>
<tr>
<td>Adresse</td>
<td><html:text property="adresse" size="50"/></td>
</tr>
<tr>
<td>Code Postal</td>
<td><html:text property="cp" size="5"/></td>
</tr>
<tr>
<td>Ville</td>
<td><html:text property="ville" size="20"/></td>
</tr>
<tr>
<input text name="pseudo" value="<%=pseudo%>" type="hidden" />
<input text name="mdp" value="<%=mdp%>" type="hidden" />
<input text name="nom" value="<%=nom%>" type="hidden" />
<input text name="prenom" value="<%=prenom%>" type="hidden" />
<input text name="age" value="<%=age%>" type="hidden" />
</tr>
</table>
<table>
<tr>
<td><html:submit value="Valider"/></td>
<td><html:reset value="Rétablir"/></td>
<td><html:button property="btnEffacer" value="Effacer" onclick="effacer()"/></td>
</tr>
</table>
</html:form>
[-----------------------resultat.personne.jsp-------------------------------]
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%
// on récupère les données
String pseudo = (String)request.getAttribute("pseudo");
String mdp = (String)request.getAttribute("mdp");
String nom = (String)request.getAttribute("nom");
String prenom = (String)request.getAttribute("prenom");
String age = (String)request.getAttribute("age");
String adresse = (String)request.getAttribute("adresse");
String cp = (String)request.getAttribute("cp");
String ville = (String)request.getAttribute("ville");
%>
...
<table>
<tr>
<td>Pseudo</td>
<td><%= pseudo %>
</tr>
<tr>
<td>Mot de passe</td>
<td><%= mdp %>
</tr>
etc...
[----------------------struts-config.xml-----------------------------]
<struts-config>
<form-beans>
<form-bean
name="frmPersonne"
type="org.apache.struts.validator.DynaValidatorForm"
>
<form-property name="pseudo" type="java.lang.String" initial="" />
<form-property name="mdp" type="java.lang.String" initial="" />
<form-property name="nom" type="java.lang.String" initial="" />
<form-property name="prenom" type="java.lang.String" initial="" />
<form-property name="age" type="java.lang.String" initial="" />
</form-bean>
<form-bean
name="frmPersonne2"
type="org.apache.struts.validator.DynaValidatorForm"
>
<form-property name="adresse" type="java.lang.String" initial="" />
<form-property name="cp" type="java.lang.String" initial="" />
<form-property name="ville" type="java.lang.String" initial="" />
</form-bean>
</form-beans>
<action-mappings>
<action
path="/validerFormulaire1"
name="frmPersonne"
scope="session"
validate="true"
input="/erreurs.do"
type="FormulaireAction"
>
<forward name="reponse" path="/formulaire2.do" />
</action>
<action
path="/validerFormulaire2"
name="frmPersonne2"
scope="session"
validate="true"
input="/erreurs.do"
type="FormulaireAction2"
>
<forward name="reponse2" path="/resultat.do" />
</action>
<action
path="/erreurs"
parameter="/vues/erreurs.personne.jsp"
type="org.apache.struts.actions.ForwardAction"
/>
<action
path="/formulaire"
parameter="/vues/formulaire.personne.jsp"
type="org.apache.struts.actions.ForwardAction"
/>
<action
path="/formulaire2"
parameter="/vues/formulaire2.personne.jsp"
type="org.apache.struts.actions.ForwardAction"
/>
<action
path="/resultat"
parameter="/vues/resultat.personne.jsp"
type="org.apache.struts.actions.ForwardAction"
/>
</action-mappings>
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property
property="pathnames"
value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"
/>
</plug-in>
<message-resources parameter="ressources.personneressources" null="false"/>
</struts-config>
Voilà, désolé pour la présentation, ça fait quand même un peu "fouilli"...
Le problème vient peut être du fait que j'utilise un FormulaireAction pour chaque formulaire (FormulaireAction pour le premier, et FormulaireAction2 pour le 2eme) ?
Mais je ne vois pas vraiment comment organiser le FormulaireAction pour qu'il s'occupe de 2 formulaires différents...
|
Oulà, désolé pour la page déformée <.<
La prévisualisation ne m'avait pas montré ça >.> |
Salut,tu peux utiliser les balises nested lorsque tu aura plusieurs formulaire.
ou bien tu envoi tes truc par session |
| 23/12 14h58 | Formulaire insertion données dans MySQL PHP | Webmastering | 23/12 17h59 | 1 |
| 13/12 11h36 | Formulaire quiz donner score | Webmastering | 13/12 12h33 | 4 |
| 09/09 15h01 | "formulaire" recup donnée sous safari | Webmastering | 13/09 21h41 | 4 |
| 10/08 15h19 | formulaire -envoi donnévers une base 2 donné | Programmation | 10/08 15h19 | 0 |