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 :

probleme property <logic:iterate>


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 134
    Par défaut probleme property <logic:iterate>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <logic:iterate id="ProduitForm" name="listeInformatique">
    <tr>
    <td><bean:write name="ProduitForm" property="nom_produit"/></td>
    <td><bean:write name="ProduitForm" property="prix"/></td>
    <td><bean:write name="ProduitForm" property="description"/></td>
    </tr>
    </logic:iterate>
    j'ai utilisé ce code dans une jsp pour récupérer les champs nom_produit, prix, et description, qunad je lance mon appli, j'ai ce message :

    javax.servlet.ServletException: No getter method for property: "nom_produit" of bean: "ProduitForm"
    pourtant j'ai bien mis les getters et setters de mon javabean ProduitForm,
    quelqu'un peut il m'aider

    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
    Pour que ce code fonctionne, il faut :

    - avoir ajouter dans la jsp les directives taglib qui pointent sur struts-logic.tld et struts-bean.tld.
    - avoir créer une ArrayList de beans Produit.

    Est-ce bien le cas ?

    Pour info, les getters et setters sur les propriétés nom_produit, prix et description doivent être dans la classe Produit et non dans l'ActionForm.

    De plus, pour respecter les conventions de nommage java, il serait bien de renommer nom_produit par nomProduit ou tout simplement nom.

  3. #3
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 134
    Par défaut
    je vien de refaire ma classe Produit en respectant ce que tu m'as dis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public class Produit{
     
    	private String nomProduit;
    	private int prix;
    	private String description;
     
     
    	//  Constructeur par défaut...
    	public Produit(){}
     
    	//	 Getteurs et setteurs...
            ...
    dans mon actionListeInformatique, je me connecte a la base, et je retourne l'objet de type Arraylist info:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    // C'est bon...
    	request.setAttribute("listeInformatique", info);
    	return mapping.findForward("AfficherListeInfo");
    puis dans la page jsp, j'affiche ces elements
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     <logic:iterate id="Produit" name="listeInformatique">
             <tr>
                <td><bean:write name="Produit" property="nomProduit"/></td>
                <td><bean:write name="Produit" property="prix"/></td>
                <td><bean:write name="Produit" property="description"/></td>
             </tr>
          </logic:iterate>
    je ne sais ce qui me manque exactement, peux tu me donner des explications, c'est un peu compliqué tout ca au debut !!!

    merci d'avance !!!

  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
    Tu as toujours la même erreur ?
    Tu as bien codé les directives taglib qui pointent sur les tld dans ta jsp ?

  5. #5
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 134
    Par défaut
    j'ai mnt ca comme erreurs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    java.lang.IllegalArgumentException: Resources cannot be null.
    	org.apache.commons.validator.Validator.<init>(Validator.java:188)
    	org.apache.struts.validator.Resources.initValidator(Resources.java:475)
    	org.apache.struts.validator.ValidatorForm.validate(ValidatorForm.java:104)
    	org.apache.struts.action.RequestProcessor.processValidate(RequestProcessor.java:927)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:204)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    oui, j'a bien ajouté les taglibs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <%@taglib uri="/tags/struts-bean" prefix="bean"%>
    <%@taglib uri="/tags/struts-html" prefix="html"%>
    <%@taglib uri="/tags/struts-logic" prefix="logic"%>

  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
    Apparemment, tu utilises le Validator mais as-tu bien défini le fichier des messages dans le struts-config.xml ?

    Sinon, que valides-tu via le Validator ?
    Pour afficher une ArrayList, je ne vois pas bien l'intérêt d'utiliser le Validator.

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

Discussions similaires

  1. probleme de logic iterate
    Par rajoua dans le forum Struts 1
    Réponses: 2
    Dernier message: 19/08/2008, 10h57
  2. Probleme avec Logic:iterate
    Par ForHuman dans le forum Struts 1
    Réponses: 7
    Dernier message: 17/07/2008, 16h05
  3. [EJB][jboss][struts]probleme de logic:iterate
    Par jamal_b dans le forum Wildfly/JBoss
    Réponses: 25
    Dernier message: 27/04/2006, 20h46
  4. [Struts][logic:iterate] Probleme avec String
    Par julienOriano dans le forum Struts 1
    Réponses: 7
    Dernier message: 15/06/2004, 09h39

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