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 :

Erreur de débutant !


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2004
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 218
    Par défaut Erreur de débutant !
    Bonjour à tous,

    Je débute en struts (que je trouve génial jusqu'à présent) mais le soucis est que j'ai ce message d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    org.apache.jasper.JasperException: /vues/jsp/formulaire.jsp(23,0) Impossible de trouver une méthode de mise à jour pour l'attribut: name
    Le soucis est que j'ai un JavaBean dans lequel il n'y as que 2e propriétés avec getter/setter c'est propriétés sont nom et age et nulle part ailleurs le "name" du message d'erreur n'est repris.

    Voici ma jsp 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
    42
    43
    44
    45
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <meta http-equiv="pragma" content="no-cache">
    <title>Personne - formulaire</title>
    <head>
    <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="be.aptelia.formulaire.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>
    Quelqu'un aurait-il une idée ?
    d'avance merci.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Par défaut
    Fais voir le code dde ton bean stp

  3. #3
    Membre éclairé
    Inscrit en
    Juillet 2004
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 218
    Par défaut
    Voici le code du bean :
    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
    /**
     * 
     */
    package be.aptelia.formulaire;
     
    import org.apache.struts.action.ActionForm;
     
    /**
     * @author clast
     * 
     */
    public class FormulaireBean extends ActionForm {
     
    	/**
             * 
             */
    	private static final long serialVersionUID = 1L;
     
    	private String nom;
     
    	private String age;
     
    	/**
             * @return the age
             */
    	public String getAge() {
    		return age;
    	}
     
    	/**
             * @param age
             *            the age to set
             */
    	public void setAge(String age) {
    		this.age = age;
    	}
     
    	/**
             * @return the nom
             */
    	public String getNom() {
    		return nom;
    	}
     
    	/**
             * @param nom
             *            the nom to set
             */
    	public void setNom(String nom) {
    		this.nom = nom;
    	}
     
    }
    je viens de faire un test en supprimant le name="frmPersonne" de ma jsp et j'ai le même problème mais cette fois-ci avec le type="...."
    Je pense que c'est un soucis au niveau du struts-html.tld, mais je n'en suis pas certain de plus si c'est le cas où trouver une bonne version de ce fichier ?

    Encore merci pour votre aide.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Par défaut
    je ne comprend pas pourquoi tu te sert d'un attribut type=...
    Va voir la doc des tag html il me semble pas que cet attribut soit ok pour le html:form.

    Normalement ca se configure dans le struts-config le mapping action-form bean....

  5. #5
    Membre éclairé
    Inscrit en
    Juillet 2004
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 218
    Par défaut
    Je suis parti d'un exemple sur Struts (tutoriel trouvé ici-même sur le site développez.com)

  6. #6
    Membre éclairé
    Inscrit en
    Juillet 2004
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 218
    Par défaut
    Comment vais-je faire alors pour référencé à ma jsp que les infos qu'elle recevra seront à placé dans mon bean ?

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Par défaut
    Voici un exemple simplifié de srtuts 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
    <struts-config>
      <data-sources>
      </data-sources>
      <form-beans>
        <!-- form bean pour XXX -->
        <form-bean name="TonForm" type="form.TonForm"/>
    </form-beans>
      <global-exceptions>
      </global-exceptions>
      <global-forwards>
        <forward name="welcome" path="/actionpardefaut.do"/>
        <forward name="sessionexpiree" path="/logon.do"/>
      </global-forwards>
    <action-mappings>
        <action path="/tonAction" name="TonForm" type="action.TonAction" validate="true" input="/jsp/logon.jsp">
          <forward name="succes" path="/jsp/jspCorrespToAction.jsp"/>
          <forward name="echec" path="/jsp/logon.jsp"/>
        </action>
    </action-mappings>
      <controller/>
      <plug-in className="net.sf.navigator.menu.MenuPlugIn">
        <set-property property="menuConfig" value="/WEB-INF/menu-config.xml"/>
      </plug-in>
    </struts-config>
    Du fait de déclarer ton bean en tant que :
    et de spécifier que pour telle action le bean correspondant est TonForm en faisant ca :
    La ca suffit il prendraz tout seul le bon bean pour le remplir quand tu fera un submit de ton formulaire
    C'est maaaaaaaaaaaaaaagique!

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Par défaut
    Exact. Lire mon post aurait également pu t'aider (j'avais zappé l'attribut type)

  9. #9
    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
    Manifestement, tu suis le tutoriel de Serge Tahé.
    Si c'est bien le cas, pour gagner du temps, je te conseille de télécharger l'Errata, qui se trouve à la même url que le tutoriel.

  10. #10
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Par défaut
    Ton html:form n'a pas à (et ne doit pas) avoir un attribut "name".
    Si c'est pour définir ton form, c'est déjà fait dans le struts-config (form de ton formulaire web = form de ton action définie dans <html:form action=...>, c'est-à-dire "main" ).
    Enlève donc ton attribut name.

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

Discussions similaires

  1. L'erreur du débutant ?
    Par Enkahel dans le forum Débuter
    Réponses: 1
    Dernier message: 04/05/2007, 10h33
  2. Erreur de débutant
    Par michel71 dans le forum Débuter
    Réponses: 2
    Dernier message: 10/12/2006, 14h21
  3. [SQL] Erreur grand débutant echo / $data
    Par carelha dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/05/2006, 12h01
  4. Message d'erreur pour débutant
    Par PhpDeb dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 27/04/2006, 12h14
  5. erreur de débutant
    Par michel71 dans le forum Delphi .NET
    Réponses: 1
    Dernier message: 08/03/2006, 00h26

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