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 1.3] cannot find bean


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de touftouf57
    Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2007
    Messages
    362
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2007
    Messages : 362
    Par défaut [Struts 1.3] cannot find bean
    Bonjour, j'ai un souci que je ne pige pas du tout

    J'ai une erreur 500, suite à une JspException: cannot find bean: "LISTE_COURSES" in any scope.

    Je précise je débute en Struts , et la j'arrive à saturation. J'aimerais déjà savoir à quoi sert le champs "name" dans:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <logic:iterate id="elementCourse" name="LISTE_COURSES" type="com.monapplication.ElementCourseBean">
    Cela fait 2 jours que je cherche et, je ne trouve pas ou je ne comprend pas,
    parce que je n'ai nul part de "LISTE_COURSES"!!

    Et 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
    20
    21
    22
    <?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_3.dtd">
     
    <struts-config>
      <!-- ========== Mapping des actions ============================== -->
      <action-mappings>
     
    	    <action    path      = "/AfficherListeCourses"
                   type      = "com.monapplication.AfficherListeCoursesAction"
                   scope     = "request">
     
            <forward name="succes" path="/pages/listeCourses.jsp"  />
            <forward name="erreur" path="/pages/erreur.jsp"  />
        </action>
      </action-mappings>
      <!-- ========== Ressources de definitions de messages =========================== -->
      <message-resources parameter="Resources" /><!-- fichier resources.properties -->
     
    </struts-config>
    et listeCourses.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
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="html" uri="http://struts.apache.org/tags-html" %>
    <%@ taglib prefix="bean" uri="http://struts.apache.org/tags-bean" %>
    <%@ taglib prefix="logic" uri="http://struts.apache.org/tags-logic" %>
    <html:html>
    	<head>
    		<title><bean:message key="titre.listecourses"/></title>
    	</head>
    	<body>
    		<table border="1">
    			<thead>
    				<tr>
    					<th><bean:message key="colonne.identifiant"/></th>
    					<th><bean:message key="colonne.libelle"/></th>
    					<th><bean:message key="colonne.quantite"/></th>
    				</tr>
    			</thead>
    			<tbody>
    				<logic:iterate id="elementCourse" name="LISTE_COURSES" type="com.monapplication.ElementCourseBean">
    					<tr>
    						<td><bean:write name="elementCourse" property="idObjet"/></td>
    						<td><bean:write name="elementCourse" property="libelle"/></td>
    						<td><bean:write name="elementCourse" property="quantite"/></td>
    					</tr>
    				</logic:iterate>
    			</tbody>
    		</table>		
    	</body>
    </html:html>
    Merci d'avance

  2. #2
    Membre éclairé Avatar de touftouf57
    Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2007
    Messages
    362
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2007
    Messages : 362
    Par défaut
    J'ai oublié de mettre les 2 seuls bean de mon projet

    ElementCourseBean
    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
    package com.monapplication;
     
    import java.io.Serializable;
     
    public class ElementCourseBean implements Serializable {
     
    	private static final long serialVersionUID = 58409687792501803L;
     
    	private Long idObjet;
    	private String libelle;
    	private Integer quantite;
     
    	public Long getIdObjet() {
    		return idObjet;
    	}
     
    	public void setIdObjet(Long idObjet) {
    		this.idObjet = idObjet;
    	}
     
    	public String getLibelle() {
    		return libelle;
    	}
     
    	public void setLibelle(String libelle) {
    		this.libelle = libelle;
    	}
     
    	public Integer getQuantite() {
    		return quantite;
    	}
     
    	public void setQuantite(Integer quantite) {
    		this.quantite = quantite;
    	}
    }
    et RetourRechercherBean
    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
    package com.monapplication;
     
    import java.io.Serializable;
    import java.util.List;
     
    public class RetourRechercherBean implements Serializable {
     
    	private static final long serialVersionUID = 1050432583446929484L;
     
    	private String erreur;
    	private List<ElementCourseBean> listeCourses;
     
    	public String getErreur() {
    		return erreur;
    	}
     
    	public void setErreur(String erreur) {
    		this.erreur = erreur;
    	}
     
    	public List<ElementCourseBean> getListeCourses() {
    		return listeCourses;
    	}
     
    	public void setListeCourses(List<ElementCourseBean> listeCourses) {
    		this.listeCourses = listeCourses;
    	}
    }
    Re merci d'avance

  3. #3
    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 l'attribut name du tag logic:iterate, il faut mettre le nom que tu as donné à l'objet que tu as mis dans le scope via le request.setAttribute ou session.setAttribute.

    Comme listeCourses est une propriété de l'objet RetourRechercherBean, je suppose que c'est cet objet que tu as mis dans le scope.

    Si c'est bien le cas, et si tu as mis cet objet dans le scope par exemple sous le nom retourRechercherBean, alors, pour l'afficher dans la jsp, il faut coder :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    logic:iterate id="elementCourse" name="retourRechercherBean" property="listeCourses" type="com.monapplication.ElementCourseBean">
    Si par contre, c'est la List listeCourses que tu as mis directement dans le scope par exemple sous le nom listeCourses, alors il faut coder ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    logic:iterate id="elementCourse" name="listeCourses" type="com.monapplication.ElementCourseBean">

  4. #4
    Membre éclairé Avatar de touftouf57
    Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2007
    Messages
    362
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2007
    Messages : 362
    Par défaut
    merci c_nvy

    Pour ces éclaircissements, qui me seront utiles.
    Donc c'était bien "LISTE_COURSES" qui est défini dans le scope.

    Mais l'erreur ne venait pas de là. En fait je modifiais le context.xml et server.xml dans mon répertoire "c:\program files\apache Software Foundation\Tomcat 6.0\conf".
    Mais en fait ce n'étaient pas les bons.
    J'ai découvert que je pouvais modifier ces fichiers directement depuis eclipse. Qui se trouvent en fait dans:"c:\Utilisateurs\moi\Workspace\.metaData\.plugins\org.eclipse.wst.server.core\tmp0"

    Donc depuis tout fonctionne.

    Encore merci

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/06/2014, 23h49
  2. Réponses: 1
    Dernier message: 26/08/2010, 16h22
  3. [Struts 1.3] Cannot find bean
    Par EmmaEmy dans le forum Struts 1
    Réponses: 3
    Dernier message: 05/03/2010, 17h17
  4. Réponses: 2
    Dernier message: 09/08/2007, 16h36
  5. Réponses: 2
    Dernier message: 30/05/2007, 20h25

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