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 :

[Struts] Problème avec struts-config.xml


Sujet :

Struts 1 Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 72
    Par défaut [Struts] Problème avec struts-config.xml
    Salut a tous, je suis nouveau en ce qui conserne J2EE et je suis en train de suivre un tutorial STRUTS de Serge Tahé et je suis arrivé jusqu' à lá realisation du JavaBean et jusque la tout s'est bien passé, mais la je suis en train de traiter le formulaire par le controleur et c'est lá que ça c'est compliqué, je vais vous poster mon fichier struts-config.xml et mon code formulaire.personne.jsp.

    Voici mon 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
     
    <?xml version="1.0" encoding="UTF-8"?>
     
    <!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>
    	<form-beans>
    		<form-bean name="frmPersonne" type="istia.st.struts.personne.FormulaireBean"/>
    	</form-beans>
    	<action-mappings>
    		<action path="/main" name="frmPersonne" scope="session" validate="true" input="/vues/erreurs.personne.jsp" parameter="/vues/main.htm" 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" name="frmPersonne" parameter="/vues/formulaire.personne.jsp" type="org.apache.struts.actions.ForwardAction"/>
    	</action-mappings>
    	<message-resources parameter="ressources.personneressources"/>
    </struts-config>
    Dans ce code j'ai aussi essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <action path="/main" name="frmPersonne" scope="session" validate="true" input="/erreurs.do" parameter="/vues/main.htm" type="org.apache.struts.actions.ForwardAction"/>
    mais j'obtien toujours la meme erreur que ce soit avec l'un ou l'autre bout de code.

    Mon fichier formulaire.personne.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
    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
     
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
     
    <!DOCTYPE struts-config PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
    "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Personne</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">
     
    <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>
    L'erreur que j'obiten est la suivante:

    No input attribute for mapping path /formulaire
    Je trouve cette erreur bizarre puisque l'attirbue inpute est dans le mapping.

    Est-ce-que vous avez une idée de ce que ça pourait etre?
    Je vous remercie a tous ceux que voudront bien se pencher sur le probleme.

    Meric [/quote]

  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
    Il existe en effet un attribut input sur le path /main.
    Or, le message d'erreur t'indique que tu n'as pas d'attribut input sur le path /formulaire.
    Donc, il faut en rajouter un.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 72
    Par défaut
    Ok, resolu mais maintenant quand j'essaye d'aller sur le formulaire il va directement sur la page d'erreurs.

    Voici ce que j'ai modifié dans le path/formulaire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <action path="/formulaire" name="frmPersonne" input="/erreurs.do" parameter="/vues/formulaire.personne.jsp" type="org.apache.struts.actions.ForwardAction"/>
    Et lá quant je fais formulaire.do et bien il va directement sur erreurs.do, normalment il devrait y aller après que j'aie inseré les valeurs dans les respectifs champs et après les avoir testé.

  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
    En fait, je n'avais pas bien regardé ton code.Je m'étais focalisée sur le message d'erreur.
    Je viens donc de me rendre compte que formulaire.do fait simplement une redirection vers formulaire.jsp.
    Il n'y a donc pas besoin d'attribut input mais par contre, pour ne pas qu'il en réclame un, il faut coder un validate="false" comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <action path="/formulaire" name="frmPersonne" validate="false" parameter="/vues/formulaire.personne.jsp" type="org.apache.struts.actions.ForwardAction"/>

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 72
    Par défaut
    Ça funcionne, je te remercie mais je ne comprends pas pourquoi je dois faire ça, a quoi ça me sert d'avoir un input si dans le fond on ne le validate pas?
    J'aimerias comprendre pourquoi je fais les choses, ça ne me sufit pas de faire du copié collé
    Merci

  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
    L'attribut input n'est utile que si tu codes un validate="true" puisqu'il te permet de spécifier la page vers laquelle tu veux être redirigé en cas d'échec à la validation.
    Dans ton cas, l'action de path formulaire effectue apparemment une simple redirection vers une page jsp. Il n'est donc pas utile de coder un attribut input.D'ailleurs, pour moi, le name="frmPersonne" n'est pas utile non plus.
    L'action pour laquelle il y a besoin d'une validation est l'action de path main puisque c'est celle-ci qui est exécutée au submit du formulaire.

    Pour info, dans les versions récentes de Struts, on coderait plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <action path="/formulaire" forward="/vues/formulaire.personne.jsp"/>

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 72
    Par défaut
    ok, je te remercie beaucoup de ton aide.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/04/2010, 11h12
  2. probleme avec struts-config.xml
    Par riadhhwajdii dans le forum Struts 1
    Réponses: 1
    Dernier message: 06/06/2009, 20h51
  3. [Struts-menu] déplacer le fichier menu-config.xml
    Par mkc44 dans le forum Struts 1
    Réponses: 2
    Dernier message: 25/05/2007, 14h21
  4. [ Struts ]Passage de listes avec struts
    Par blutch27 dans le forum Struts 1
    Réponses: 5
    Dernier message: 19/04/2006, 17h24
  5. [struts]: struts-config.xml
    Par sleepy2002 dans le forum Struts 1
    Réponses: 2
    Dernier message: 01/10/2004, 10h32

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