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 :

DispatchAction : erreur 400


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
    Août 2004
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 85
    Par défaut DispatchAction : erreur 400
    Afin d'ajouter des actions à un formulaire je tente de passer mon action en dispatchAction en suivant la procédure : http://javaweb.developpez.com/faq/st...dispatchAction

    je pars d'une action unique qui, sans dispatchAction, lorsqu'elle utilisait la méthode execute de base fonctionnait très bien.

    J'obtiens au chargement de la page (et non après un submit) l'erreur :
    Erreur :
    Error 400: Request[/rechercheUtilisateur] does not contain handler parameter named hidden

    struts-config :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <action path="/rechercheUtilisateur" type="lan.poujoulat.osac.actions.RechercheUtilisateurAction" name="formRechercheUtilisateur" validate="true" input="/Administration/acces.jsp" scope="request" parameter="hidden">
    	<forward name="réussiteRecherche" path="/Administration/acces.jsp">
    	</forward>
    jsp Administration/acces.jsp :
    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
     
    <SCRIPT>
       function setHidden(value){document.formRechercheUtilisateur.hidden.value=value;}
    </SCRIPT>
     
    <html:form action="/rechercheUtilisateur"
    	name="formRechercheUtilisateur"
    	type="lan.poujoulat.osac.forms.FormRechercheUtilisateur">
    ...
    <td align="center" width="80"><a href="#"
    	title='"Rechercher" />'> <input type=image
    	value=submit src="./image/btnRech.gif" width="22" height="20"
    	border="0" onclick="setHidden('recherche');"> </a></td>	
     </a>
    ...
              <html:hidden property="hidden" value="recherche"/>
    </html:form>
    RechercheUtilisateurAction.java :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public class RechercheUtilisateurAction extends DispatchAction
    {
     
        public ActionForward recherche(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
                throws Exception {
    Je n'ai pas ajouté d'attribut hidden à la classe action, le tuto n'en parle pas, quelqu'un aurait une idée, déjà implémenter ce genre de chose?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 85
    Par défaut
    J'ai ajouté l'attribut hidden à la classe form, le tuto n'en parle pas mais je l'ai vu sur un autre. Toutefois ça ne marche pas mieux...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 85
    Par défaut
    Je vois bien mapping -> parameter = hidden dans mon DispatchAction en mode debug et l'attribut hidden de mon form valorisé.

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Il manque juste un champ caché dans ta page jsp.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <form ...>
    <input type="hidden" name="hidden"/>
    ...
    </form>
    Le nom "hidden" est un peu mal choisi je trouve, ambiguë...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    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
    Vu que tu obtiens l'erreur au chargement de la page et non au submit, cela signifie que tu appelles l'Action RechercheUtilisateurAction pour afficher la page.
    Il faut donc passer le paramètre hidden lors du premier appel de l'Action.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 85
    Par défaut
    Obutterlin : il y était le champs caché : cf code initial.

    Fin du taf vendredi je n'ai pas eu le temps de poster ma réponse mais c_nvy avait vu juste :

    le problem était dans le struts config :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        <forward name="acces" path="/rechercheUtilisateur.do">
    menait à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        <action path="/rechercheUtilisateur" type="xxx.actions.RechercheUtilisateurAction" name="formRechercheUtilisateur" validate="true" input="/Administration/acces.jsp" scope="request" parameter="hidden">
            <forward name="réussiteRecherche" path="/Administration/acces.jsp">
            </forward>
    avec Hidden non initialisé.

    Solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
         <forward name="acces" path="/Administration/acces.jsp">

    En fait je passais par l'action en vue d'initialiser une variable affichée dans un displaytag. Je pensais que la liste ne pouvais pas etre nulle. En fait si, donc je peux faire directement appel à la JSP et tout fctionne.

    Merci à tous!

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

Discussions similaires

  1. urlopen et erreur 400
    Par Definol dans le forum Réseau/Web
    Réponses: 1
    Dernier message: 17/07/2007, 15h11
  2. Erreur 400 en https avec firefox
    Par bambou dans le forum Apache
    Réponses: 2
    Dernier message: 08/02/2007, 17h07
  3. [AJAX] Requetes HTTPS et ajax = erreur 400?
    Par bambou dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/02/2007, 16h59
  4. Réponses: 1
    Dernier message: 18/11/2006, 11h36
  5. [VB6]affichage d'une feuille modale / message d'erreur 400
    Par getea85 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 26/01/2006, 18h37

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