IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Struts 1 Java Discussion :

Pb html:reset et html:submit


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 65
    Par défaut Pb html:reset et html:submit
    Bonjour à tous!

    J'ai un probleme particulièrement curieux.
    J'ai un formulaire jsp qui contient plusieurs html:submit. J'ai donc utilisé un LookupDispatchAction pour pouvoir rediriger vers les actions correspondantes selon le submit qui a été cliqué.

    J'ai juste un html:reset a la fin de mon formulaire et donc j'ai redefini la methode reset(ActionMapping mapping, HttpServletRequest request) dans mon ActionForm.

    Ce qui est très curieux est que lorsque je clique sur n'importe quel bouton submit, la methode reset est appelée et lorsque je clique sur le boutton reset, rien ne se passe, la methode reset n'est pas appelée...

    Voici un peu de code:

    mon struts-config (juste les actions, mon form s'appelle ChangementAccesForm):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    <action path="/afficherSaisieCAAction" name="ChangementAccesForm" validate="false" scope="session" type="com.francetelecom.reflet.ihm.action.changementAcces.SaisieCAAction" className="com.francetelecom.reflet.ihm.action.RefletActionMapping">
    			<forward name="succes" path="/jsp/chgtAcces/SaisieCA.jsp"/>
    		</action>
    		<!-- clic sur bouton annuler -->
    		<action path="/annulerSaisieCAAction" name="ChangementAccesForm" validate="false" scope="session" type="com.francetelecom.reflet.ihm.action.changementAcces.AnnulerSaisieCAAction" className="com.francetelecom.reflet.ihm.action.RefletActionMapping">
    			<forward name="succes" path="/jsp/chgtAcces/SaisieCA.jsp"/>
    		</action>
     
    		<action path="/validerSaisieCALookupDispatchAction"  validate="true" input="/jsp/chgtAcces/SaisieCA.jsp" name="ChangementAccesForm" parameter="method" scope="session" type="com.francetelecom.reflet.ihm.action.changementAcces.ValiderSaisieCALookupDispatchAction" className="com.francetelecom.reflet.ihm.action.RefletActionMapping">
    			<forward name="validerDepartement" path="/validerDepartementSaisieCAAction.do"/>
    			<forward name="validerCommune" path="/validerCommuneSaisieCAAction.do"/>
    			<forward name="validerVoie" path="/validerVoieSaisieCAAction.do"/>
    			<forward name="valider" path="/validerSaisieCAAction.do"/>
    		</action>
    		<!-- clic sur bouton valider département -->
    		<action path="/validerDepartementSaisieCAAction" validate="false" name="ChangementAccesForm" scope="session" type="com.francetelecom.reflet.ihm.action.changementAcces.ValiderDepartementSaisieCAAction" className="com.francetelecom.reflet.ihm.action.RefletActionMapping">
    			<forward name="succes" path="/jsp/chgtAcces/SaisieCA.jsp"/>
    			<forward name="echec" path="/jsp/chgtAcces/SaisieCA.jsp"/>
    		</action>
    		<!-- clic sur bouton valider commune -->
    		<action path="/validerCommuneSaisieCAAction" validate="false" name="ChangementAccesForm" scope="session" type="com.francetelecom.reflet.ihm.action.changementAcces.ValiderCommuneSaisieCAAction" className="com.francetelecom.reflet.ihm.action.RefletActionMapping">
    			<forward name="succes" path="/jsp/chgtAcces/SaisieCA.jsp"/>
    			<forward name="echec" path="/jsp/chgtAcces/SaisieCA.jsp"/>
    		</action>
    		<!-- clic sur bouton valider voie -->
    		<action path="/validerVoieSaisieCAAction" validate="false" name="ChangementAccesForm" scope="session" type="com.francetelecom.reflet.ihm.action.changementAcces.ValiderVoieSaisieCAAction" className="com.francetelecom.reflet.ihm.action.RefletActionMapping">
    			<forward name="succes" path="/jsp/chgtAcces/SaisieCA.jsp"/>
    			<forward name="echec" path="/jsp/chgtAcces/SaisieCA.jsp"/>
    		</action>
    		<!-- clic sur bouton valider -->
    		<action path="/validerSaisieCAAction" validate="false" parameter="method" name="ChangementAccesForm" scope="session" type="com.francetelecom.reflet.ihm.action.changementAcces.ValiderSaisieCAAction" className="com.francetelecom.reflet.ihm.action.RefletActionMapping">
    			<forward name="succesRechercheSansAdresse" path="/jsp/chgtAcces/ResultatCAND.jsp"/>
    			<forward name="succesRechercheAvecAdresse" path="/jsp/chgtAcces/ResultatCAADR.jsp"/>
    			<forward name="echec" path="/jsp/chgtAcces/SaisieCA.jsp"/>
    		</action>
    Ma page jsp -le formulaire en version simplifiée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <html:form action="/validerSaisieCALookupDispatchAction" styleId="etude_ca">
     
    		<html:select property="departement">
    			<html:optionsCollection name="ChangementAccesForm" property="departements"/>
    		</html:select>
     
    		<html:submit property="method" styleClass="submitBouton">
    			<bean:message key="changementAcces.demande.departement.validerLookup"/>
    		</html:submit>
     
    		<html:text styleId="commune" name="ChangementAccesForm" property="chgAccesDemandeBean.communesDemandeBean.communePartielle" ></html:text>
     
    		<html:submit property="method" styleClass="submitBouton">
    			<bean:message key="changementAcces.demande.commune.rechercherLookup"/>
    		</html:submit>
     
    		<p class="ligne_bouton">
    			<html:submit property="method" styleClass="submitBouton">
    				<bean:message key="changementAcces.demande.valider"/>
    			</html:submit>
     
    			<html:reset property="method" value=" " styleClass="resetBouton" altKey="changementAcces.demande.annuler">
    				<bean:message key="changementAcces.demande.annuler"/>
    			</html:reset>
     
    		</p>
    </html:form>
    Et enfin la redefinition de la methode reset où je recupere le paramètre method:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public void reset(ActionMapping mapping, HttpServletRequest request) {
    			//verification du bouton qui a été cliqué
    			if(request.getParameter("method")!=null){
    				System.out.println(request.getParameter("method"));
    			}else{
    				System.out.println("request.getParameter(\"method\") null");
    			}
    }
    Est ce que quelqu'un a déjà eu une telle erreur ou a une idée?

    Merci d'avance

  2. #2
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    En fait, le tag <html:reset> ne provoque pas l'appel de la méthode reset de l'ActionForm tout simplement parce qu'il agit seulement côté client.
    Il permet simplement de générer la balise html <input type="reset">.
    Il n'y a donc aucun intérêt de l'utiliser avec Struts.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 65
    Par défaut
    Ah d'accord! J'étais persuadée que ca permettait d'appeler la methode reset
    Merci pour ta reponse, c_nvy.

    Par contre est ce que tu sais s'il existe un mecanisme qui permet d'appeler cette methode (ou une autre) pour pouvoir reinitialiser les champs du formulaire?
    En fait j'ai des champs dans mon formulaire qui ne permettent pas d'etre reinitialisés grace au simple <input type="reset">.

    Merci d'avance.

  4. #4
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Tu peux utiliser le tag <html:cancel>.
    Pour plus d'infos, voir cette discussion.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 65
    Par défaut
    Merci! Ca marche maintenant

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [HTML][Javascript] target et submit dans un formulaire
    Par zccl-ier dans le forum Balisage (X)HTML et validation W3C
    Réponses: 0
    Dernier message: 07/10/2014, 11h17
  2. <html:reset> avec une image personnalisée
    Par lifty dans le forum Struts 1
    Réponses: 3
    Dernier message: 23/06/2009, 21h20
  3. Réponses: 4
    Dernier message: 17/04/2007, 17h34
  4. [XSLT] [XML->HTML] transformation XML -> HTML via XSL
    Par Great Sayaman dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 11/12/2004, 22h12
  5. [html:select][html:options] pb de submit
    Par wazup dans le forum Struts 1
    Réponses: 5
    Dernier message: 03/05/2004, 18h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo