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 :

problème avec <html:form>


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 47
    Par défaut problème avec <html:form>
    salut tt le monde,
    je viens de commencer un projet en struts 1.3.9 et je me bloque au niveau d'un formulaire de saisie.
    le pb c que au niveau de la tag <html:form> je spécifie le nom du bean dans lequel vont être stocker les valeurs du bean ainsi que le type obligatoire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <html:form action="/main" name="frmPersonne" type="org.apache.struts.actions.ForwardAction">
    mais pourtant il me donne une erreur que je ne comprend pas à propos de la mise a jour du nom (name)!!!!!!!!!!!!!!!!!
    et voila l'erreur survenu:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    exception 
     
    javax.servlet.ServletException: /vues/formulaire.personne.jsp(19,0) Impossible de trouver une méthode de mise à jour pour l'attribut: name
    	org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:286)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
    	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    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
    Les attributs name et type n'existent plus dans le tag form depuis Struts 1.2.
    Il faut juste coder le path de l'Action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:form action="/main">
    Ces attributs étant déjà définis dans le struts-config.xml, dans le mapping de l'Action de path /main, Struts les retrouve automatiquement.

  3. #3
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 47
    Par défaut
    merci pour ta réponse,
    mais dans ce cas comment je doit configurer struts-config.xml, est ce que ça devrait être de la façon suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <action
    path="/main"
    name="frmPersonne"
    scope="session"
    input="erreurs.do"
    parameter="/vues/main.html"
    type="org.apache.struts.actions.ForwardAction"
    />
    est ce qu'il ya quelque chose qui manque?

  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
    Dans les versions récentes de Struts, on n'utilise plus la classe org.apache.struts.actions.ForwardAction.

    Il faut donc créer une Action qui s'exécutera au submit du formulaire et qui effectuera le forward vers la page main.html et la définir comme ceci :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <action path="/main" type="nomDuPackage.MainAction"
            name="frmPersonne" scope="session" validate="true" input="erreurs.do">
       <forward name="success" path="/vues/main.html"/>
    </action>

  5. #5
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 47
    Par défaut
    merci c_nvy pour m'avoir répondu mais pour éxecuter la méthode execute le classe Action il avoir d'abord un formulaire valide et dans ce je pense qu'il n'aura pas l'occasion de valider le formulaire s'il passe à execute directement.

  6. #6
    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
    Il va d'abord exécuter la méthode validate de l'ActionForm et s'il y a des erreurs de validation, il redirigera vers la page définie dans l'attribut input, soit dans ton cas, il exécutera l'Action de path /errreurs.
    S'il n'y a pas d'erreur de validation alors il exécutera la méthode execute de l'Action de path /main.
    Quoi qu'il en soit, pour que la page jsp dans laquelle se trouve le formulaire puisse s'afficher, il faut créer l'Action de path /main.

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

Discussions similaires

  1. Problème avec enctype="multipart/form-data"
    Par MeDioN dans le forum Langage
    Réponses: 4
    Dernier message: 07/07/2009, 17h09
  2. [Spip] Problème avec index.html
    Par Holin dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 21/08/2007, 14h37
  3. problème avec tableaux html
    Par pas30 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 20/05/2007, 17h36
  4. Problème avec javascript:document.forms
    Par enclave_51 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/06/2006, 09h06
  5. Excel 2000 FR et problème avec le HTML 4.01
    Par MC2 dans le forum Excel
    Réponses: 5
    Dernier message: 30/04/2006, 10h48

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