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 formulaire struts


Sujet :

Struts 1 Java

  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    372
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 372
    Par défaut problème formulaire struts
    Bonjour, je suis entrain de developper une petite application avec struts et eclipse et tomcat mais j'ai un petit problème :

    j'ai crée un formulaire :
    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
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <html>
    <meta http-equiv="pragma" content="no-cache">
    <head>
    <title>Personne - formulaire</title>
    <script language="javascript">
    function effacer(){
    with(document.frmPersonne){
    nom.value="";
    age.value="";
    }
    }
    </script>
    </head>
    <body>
    <center>
    <h2>Personne - formulaire</h2>
    <hr>
    <html:form action="/main" name="frmPersonne" type="istia.st.struts.personne.FormulaireBean">
    <table>
    <tr>
    <td>Nom</td>
    <td><html:text property="nom" size="20"/></td>
    </tr>
    <tr>
    <td>Age</td>
    <td><html:text property="age" size="3"/></td>
    </tr>
    <tr>
    </table>
    <table>
    <tr>
    <td><html:submit value="Envoyer"/></td>
    <td><html:reset value="Rétablir"/></td>
    <td><html:button property="btnEffacer" value="Effacer" onclick="effacer()"/></td>
    </tr>
    </table>
    </html:form>
    </center>
    </body>
    </html>
    et ma classe FormulaireBean est la suivante :
    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
    package istia.st.struts.personne;
    import org.apache.struts.action.ActionForm;
    @SuppressWarnings("serial")
    public class FormulaireBean extends ActionForm {
    // nom
    private String nom = null;
    public String getNom() {
    return nom;
    }
    public void setNom(String nom) {
    this.nom = nom;
    }
    // age
    private String age = null;
    public String getAge() {
    return age;
    }
    public void setAge(String age) {
    this.age = age;
    }
    }
    et mon fichier .tld est le suivant :
    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
    <taglib>
    <tlibversion>1.0</tlibversion>
    <jspversion>1.1</jspversion>
    ...
    <name>form</name>
    <tagclass>org.apache.struts.taglib.html.FormTag</tagclass>
    <bodycontent>JSP</bodycontent>
    <attribute>
    <name>action</name>
    <required>true</required>
    <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
    <name>enctype</name>
    <required>false</required>
    <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
    <name>focus</name>
    <required>false</required>
    <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
    <name>method</name>
    <required>false</required>
    <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
    <name>name</name>
    <required>false</required>
    <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
    <name>onreset</name>
    <required>false</required>
    <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
    <name>onsubmit</name>
    <required>false</required>
    <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
    <name>scope</name>
    <required>false</required>
    <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
    <name>style</name>
    <required>false</required>
    <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
    <name>styleClass</name>
    <required>false</required>
    <rtexprvalue>true</rtexprvalue>
    </attribute>
    </attribute>
    ...
    </tag>
    </taglib>
    mais lorsque je fais http://localhost:8080/strutspersonne/formulaire.do il me dit : Impossible de trouver une méthode de mise à jour pour l'attribut: name

    lorsque je supprime les lignes qui ont un rapport avec le formulaire : <html:submit><html:form>... ma page s'exécute; je sais pas ou est le problème est ce dans mon fichier .tld, ou dans mon code, merci pour votre aide !

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 392
    Par défaut
    Citation Envoyé par newmar Voir le message
    ma page s'exécute; je sais pas ou est le problème est ce dans mon fichier .tld
    as-tu modifié le fichier tld? si oui, pourquoi?

    peux-tu mettre le fichier struts-config.xml?

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    372
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 372
    Par défaut problème formulaire struts eclipse
    merci pour votre réponse, voilà le fichier struts-config.xml :
    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
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <!DOCTYPE struts-config PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
    "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
    <struts-config>
    <action-mappings>
    <action
    path="/main"
    parameter="/vues/main.html"
    type="org.apache.struts.actions.ForwardAction"
    />
    <action
    path="/erreurs"
    parameter="/vues/erreurs.personne.jsp"
    type="org.apache.struts.actions.ForwardAction"
    />
    <action
    path="/reponse"
    parameter="/vues/reponse.personne.jsp"
    type="org.apache.struts.actions.ForwardAction"
    />
    <action
    path="/formulaire"
    parameter="/vues/formulaire.personne.jsp"
    type="org.apache.struts.actions.ForwardAction"
    />
    </action-mappings>
    </struts-config>
    non je l'ai pas modifié mais je l'ai mis pour voir est ce bien paramétré ?

  4. #4
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    372
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 372
    Par défaut problème formulaire struts eclipse
    voila ce qu'il me dit maintenant :
    javax.servlet.ServletException: /vues/formulaire.personne.jsp(19,0) L'attribut name est incorrect pour le tag form d'après la TLD indiquée
    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:689)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    C'est quoi l'erreur à votre avis ?

  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
    Quelle version de Struts utilises-tu ?
    Si c'est une version 1.2 ou 1.3, les attributs name et type n'existent plus dans le tag html:form car ils doivent être précisés dans le mapping de l'Action dans le struts-config.xml.

    Si tu suis le tutoriel de Serge Tahé, jette un oeil à l'Errata, tu gagneras du temps.

  6. #6
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    372
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 372
    Par défaut problème formulaire struts eclipse
    j'utilise : struts-2.0.11 mais j'ai pris .jar commons-digester-1.8 de struts-1.3.8, je suis ce tutorial mais j'ai pas eu les memes résultats : , merci pour votre aide ?

  7. #7
    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
    Ben, je crois que le message est assez explicite non ?
    L'attribut "name" n'existe pas pour la balise <html:form>, supprime le et ça devrait passer (à l'erreur suivante )

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    372
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 372
    Par défaut problème formulaire struts eclipse
    Oui j'ai fait ca mais lorsqu'il passe a l'erreur suivante il me dit le type est aussi n'est pas définit et je peux pas supprimer le type

  9. #9
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 392
    Par défaut
    Citation Envoyé par newmar Voir le message
    Oui j'ai fait ca mais lorsqu'il passe a l'erreur suivante il me dit le type est aussi n'est pas définit et je peux pas supprimer le type
    pourquoi ne peux-tu pas supprimer le type?
    qu'est-ce-qui t'en empêche?

  10. #10
    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
    Oui, qu'est ce qui t'en empêche ?
    Seul le paramètre action est vraiment important, le reste passe tout seul...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  11. #11
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    372
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 372
    Par défaut problème formulaire struts eclipse
    Merci, oui j'ai enlever le champs name mais apparemment j'ai des problèmes avec tous les champs du formulaire cad les zone de texte les bouttons submitt ...

  12. #12
    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
    Citation Envoyé par newmar Voir le message
    Oui j'ai fait ca mais lorsqu'il passe a l'erreur suivante il me dit le type est aussi n'est pas définit et je peux pas supprimer le type
    Je t'ai conseillé précédemment de regarder l'errata du tutoriel de Serge Tahé où tu trouveras la solution à tes problèmes.
    Apparemment, tu ne l'as pas regardé.
    Il faut savoir que le tutoriel a été fait avec une version 1.1 de Struts et que les modifs liées aux évolutions vers une 1.2 sont décrites dans l'errata.
    Mais je pense sincèrement que tu vas avoir du mal à utiliser la V2 en suivant ce tutoriel.

    Voilà ce que tu trouveras entre autres dans l'errata :
    La balise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:form action="/main" name="frmPersonne" type="istia.st.struts.personne.FormulaireBean">
    doit être remplacée par

    Modification 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:form action="/main">
    les attributs [name] et [type] n'étant plus acceptés dans la balise <html:form>. Ces informations qui représentent ici le bean associé
    à l'action [/main] doivent maintenant être définies dans le fichier [struts-config.xml]. Celui défini paragraphe III.4.8, page 38 ne
    donne pas ces informations. Il y est écrit :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <struts-config>
    <action-mappings>
    <action
    path="/main"
    parameter="/vues/main.html"
    type="org.apache.struts.actions.ForwardAction"
    />
    On voit qu'aucun bean n'est associé à l'action [/main]. On peut prendre exemple sur le fichier [struts-config.xml] de la page 40,
    pour remplacer le code ci-dessus par le suivant :

    Modification 2
    Code xml : 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
    <struts-config>
    <form-beans>
    <form-bean
    name="frmPersonne"
    type="istia.st.struts.personne.FormulaireBean"
    />
    </form-beans>
    <action-mappings>
    <action
    path="/main"
    name="frmPersonne"
    scope="session"
    validate="false"
    parameter="/vues/main.html"
    type="org.apache.struts.actions.ForwardAction"
    />
    Ici, l'action [/main] est associée au bean [frmPersonne], lui-même associé à la classe [istia.st.struts.personne.FormulaireBean].
    Si on fait les modifications 1 et 2 décrites ici, le test de la vue [formulaire.personne.jsp], paragraphe III.4.8 - page 38, doit réussir.

  13. #13
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    372
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 372
    Par défaut
    Merci infiniment c_nvy, j'avais pas les errata c'est pourquoi j'ai pas compris votre réponse, merci maintenant j'ai pu résoudre mes problèmes liés aux formulaires!

  14. #14
    Membre confirmé
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    167
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 167
    Par défaut
    Citation Envoyé par newmar Voir le message
    Merci infiniment c_nvy, j'avais pas les errata c'est pourquoi j'ai pas compris votre réponse, merci maintenant j'ai pu résoudre mes problèmes liés aux formulaires!
    Merci de cliquer sur résolu j'aurai passer moins de temps à lire cette discussion pour rien

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

Discussions similaires

  1. un problème avec un formulaire struts
    Par bibich1985 dans le forum Struts 1
    Réponses: 1
    Dernier message: 11/05/2008, 08h59
  2. problème avec le formulaire struts
    Par coyote999 dans le forum Struts 1
    Réponses: 2
    Dernier message: 04/04/2007, 09h11
  3. [Struts]imbrication formulaires Struts
    Par touriste44 dans le forum Struts 1
    Réponses: 5
    Dernier message: 17/11/2005, 09h56
  4. problème formulaire tabulaire
    Par jax69 dans le forum Access
    Réponses: 2
    Dernier message: 05/09/2005, 11h28
  5. Problème Formulaire + popup + page PHP
    Par Invité dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 25/02/2005, 00h10

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