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 :

isCancelled() crée une erreur


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Inscrit en
    Juin 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 161
    Par défaut isCancelled() crée une erreur
    Bonjour,

    j'essaie de mettre un bouton 'cancel' dans un formulaire.

    J'ai donc rajouté dans mon formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:cancel></html:cancel>
    puis dans la classe action, un test qui utilise isCancelled:
    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    package test;
     
    //default package
     
    import java.io.IOException;
    import java.lang.reflect.InvocationTargetException;
     
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.ServletException;
     
    import org.apache.commons.beanutils.BeanUtils;
    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 bean.Login;
     
     
    public class LoginAction extends Action {
     
    	public ActionForward execute(ActionMapping mapping,
    			ActionForm form, 
    			HttpServletRequest request, 
    			HttpServletResponse response)
    			throws IOException, ServletException, 
    			IllegalAccessException, InvocationTargetException {
     
        		LoginForm monForm = (LoginForm) form;
        		Login monLogin = new Login();
     
        		BeanUtils.copyProperties(monLogin, monForm);
        		request.setAttribute(mapping.getAttribute(), monLogin);
     
        		if(isCancelled(request)) {
        			System.out.println("******** on teste si 'cancel' **********");
        			//form.reset(mapping, request);
     
        			return mapping.findForward("default");
        		}
     
        		System.out.println(monLogin.getLogin());
     
        		if(("yohan").equals(monLogin.getLogin()) && ("zebulon").equals(monLogin.getMdp())) {
        			return mapping.findForward("succes");
        		}
     
        		return mapping.findForward("erreur");
        	    }
     
    }
    Mais j'obtiens une erreur lorsque je clique sur le bouton 'cancel' du formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    org.apache.struts.action.InvalidCancelException
    	org.apache.struts.chain.commands.AbstractValidateActionForm.isCancelled(AbstractValidateActionForm.java:73)
    	org.apache.struts.chain.commands.AbstractValidateActionForm.execute(AbstractValidateActionForm.java:111)
    	org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
    	org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    	org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
    	org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    	org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
    	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    Je ne comprend pas l'erreur. L'erreur semble être déclenchée avant même de passer dans la boucle qui teste la valeur de 'isCancelled()'.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 68
    Par défaut Version struts ?
    Salut

    peux-tu me dire quelle version de struts utilise-tu ? Si tu es en 1.1 ou supérieur, fournit moi également ton struts-config.

    @+

  3. #3
    Membre très actif
    Inscrit en
    Juin 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 161
    Par défaut
    C'est la version struts-1.3.8

    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
    <?xml version="1.0" encoding="UTF-8"?>
     
    <struts-config>
    	<form-beans>
    		<form-bean name="LoginForm" type="test.LoginForm" />
    	</form-beans>
     
    	<global-forwards>
    		<forward name="succes" path="/pages/connected.jsp" />
    	</global-forwards>
     
    	<action-mappings>
    		<action	path="/login" 
    		input="/pages/saisie.jsp" 
    		name="LoginForm" 
    		type="test.LoginAction" 
    		scope="request" 
    		validate="true" >
    			<forward name="default" path="/pages/saisie.jsp" ></forward>
    			<forward name="erreur" path="/pages/erreur.jsp" />
    		</action>
    	</action-mappings>
     
    	    <message-resources parameter="MessageResources" />
    </struts-config>
    voilou, merci !

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 68
    Par défaut voilà essaye çà
    Voilà, normalement çà devrait déjà fonctionner mieux avec le bout de code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <action-mappings>
    	<action	path="/login" 
    	   input="/pages/saisie.jsp" 
    	   name="LoginForm" 
    	   type="test.LoginAction" 
    	   scope="request" 
    	   validate="true" >
    	   <set-property property="cancellable" value="true"/>
    	   <forward name="default" path="/pages/saisie.jsp" ></forward>
    	   <forward name="erreur" path="/pages/erreur.jsp" />
    	</action>
    </action-mappings>
    L'explication est la suivante :
    http://guymage.net/index.php/2007/01...ancelexception

    Tiens moi au courant.

    @+

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 68
    Par défaut Dernière chose :
    Une dernière chose, normalement çà n'a aucun impact, mais on ne sait jamais... :

    Remplace :
    <forward name="default" path="/pages/saisie.jsp" ></forward>
    par

    <forward name="default" path="/pages/saisie.jsp"/>
    Voilà voilà

  6. #6
    Membre très actif
    Inscrit en
    Juin 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 161
    Par défaut
    Wouhaou ! En effet je pouvais pas le deviner tout seul et l'info est pas evidente a trouver pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <set-property property="cancellable" value="true"/>
    Un grand merci a toi !

    Tu avais déjà eu cette erreur ?

  7. #7
    Membre très actif
    Inscrit en
    Juin 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 161
    Par défaut
    pas de soucis pour le resolu (je crois que c'etait deja fait d'ailleurs)


    tu as trouvé solution a ton prob ?
    http://www.developpez.net/forums/sho...d.php?t=393969

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 68
    Par défaut Pas trouvé
    Non je n'ai pas trouvé de solution mais j'ai décidé de faire autrement

    J'ai implementé un treeview (Struts-layout.tld). Lorsque l'utilisateur clique sur une catégorie dans l'arbre, celle-ci appelle une action struts qui est chargée d'ajouter la catégorie sélectionnée dans une liste (Basket). L'action terminée revient à ma jsp, affiche l'arbre et une liste de catégories sélectionnées

    Tadam, problème résolu et c'est bcp plus joli.

  9. #9
    Membre très actif
    Inscrit en
    Juin 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 161
    Par défaut
    Citation Envoyé par coyote999 Voir le message
    Non je n'ai pas trouvé de solution mais j'ai décidé de faire autrement

    J'ai implementé un treeview (Struts-layout.tld). Lorsque l'utilisateur clique sur une catégorie dans l'arbre, celle-ci appelle une action struts qui est chargée d'ajouter la catégorie sélectionnée dans une liste (Basket). L'action terminée revient à ma jsp, affiche l'arbre et une liste de catégories sélectionnées

    Tadam, problème résolu et c'est bcp plus joli.
    ca sonne bien en tout cas !

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/09/2013, 16h43
  2. Réponses: 2
    Dernier message: 27/12/2012, 21h26
  3. fonction ereg php crée une erreur
    Par BenjP95 dans le forum Langage
    Réponses: 4
    Dernier message: 04/05/2010, 14h32
  4. Affichage d'un Panel crée une erreur Eaccesviolation
    Par Djang0 dans le forum C++Builder
    Réponses: 3
    Dernier message: 06/08/2009, 14h30
  5. Ne pas formater une erreur
    Par Sylvain Leray dans le forum XMLRAD
    Réponses: 2
    Dernier message: 18/03/2003, 14h13

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