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

Développement Web en Java Discussion :

Utilisation des beans


Sujet :

Développement Web en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Expert Middleware
    Inscrit en
    Septembre 2006
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Expert Middleware

    Informations forums :
    Inscription : Septembre 2006
    Messages : 75
    Par défaut Utilisation des beans
    Bonjour @ tous,

    je continue mon apprentissage du java web et à mon avis il m'en manque un bout ou il y a quelquechose que je n'ai pas compris.

    J'extrais de ma BDD une liste de personne dont je ne connais pas forcement le nombre. Ces personnes sont "stockés" via des beans ... jusque là pas de soucis.

    Ma question est en fait, quelle est la meilleure méthode pour transmettre ces beans (aux nombres de x) à ma feuille jsp : Array, ArrayList, HashMap, Autre (je me plante complet) ...

    Merci pour vos éclaircissements.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Expert Middleware
    Inscrit en
    Septembre 2006
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Expert Middleware

    Informations forums :
    Inscription : Septembre 2006
    Messages : 75
    Par défaut
    Bon, je vais poser une question un peu plus précise

    J'ai donc un bean qui va bien :

    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
    package com.test.bean;
     
    public class Files
    {
    	private String		fileName;
    	private String		extension;
     
    	public void setFileName(String fileName) {
    		this.fileName = fileName;
    	}
     
    	public String getFileName() {
    		return fileName;
    	}
     
    	public void setExtension(String extension) {
    		this.extension = extension;
    	}
     
    	public String getExtension() {
    		return extension;
    	}
    }
    Je génère une liste de fichiers depuis une servlet :

    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
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    package com.test.servlet;
     
    import java.io.IOException;
    import java.util.ArrayList;
     
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    import com.test.bean.Files;
     
    /**
     * Servlet implementation class Test
     */
    @WebServlet("/Test")
    public class Test extends HttpServlet
    {
    	private static final long	serialVersionUID	= 1L;
    	private static final String	PAGE				= "/WEB-INF/test.jsp";
    	private ArrayList<Files>	myFiles				= new ArrayList<Files>();
     
    	/**
             * @see HttpServlet#HttpServlet()
             */
    	public Test() {
    		super();
    		// TODO Auto-generated constructor stub
    	}
     
    	/**
             * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
             *      response)
             */
    	protected void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
     
    		myFiles.clear();
    		Files file1 = new Files();
    		file1.setExtension(".xml");
    		file1.setFileName("Fichier1");
    		myFiles.add(file1);
     
    		Files file2 = new Files();
    		file1.setExtension(".xml");
    		file1.setFileName("Fichier2");
    		myFiles.add(file2);
     
    		Files file3 = new Files();
    		file1.setExtension(".xml");
    		file1.setFileName("Fichier3");
    		myFiles.add(file3);
     
    		Files file4 = new Files();
    		file1.setExtension(".xml");
    		file1.setFileName("Fichier4");
    		myFiles.add(file4);
     
    		Files file5 = new Files();
    		file1.setExtension(".xml");
    		file1.setFileName("Fichier5");
    		myFiles.add(file5);
     
    		Files file6 = new Files();
    		file1.setExtension(".xml");
    		file1.setFileName("Fichier6");
    		myFiles.add(file6);
     
    		request.setAttribute("myFiles", myFiles);
    		this.getServletContext().getRequestDispatcher(PAGE).forward(request, response);
    	}
     
    	/**
             * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
             *      response)
             */
    	protected void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		doGet(request, response);
    	}
     
    }
    et je l'affiche avec ma 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
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>test bean</title>
    </head>
    <body>
    	<c:forEach items="${ myFiles }" var="monFic">
    		<p><c:out value="${ monFic}"/> : <c:out value="${ monFic.fileName }"/><c:out value="${ monFic.extension }"/></p>
    	</c:forEach>
    </body>
    </html>
    Voila ce que j'ai en retour ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    com.test.bean.Files@398a9f36 : Fichier6.xml
     
    com.test.bean.Files@57c6da7d :
     
    com.test.bean.Files@40327190 :
     
    com.test.bean.Files@2fbdc5dd :
     
    com.test.bean.Files@540948a7 :
     
    com.test.bean.Files@2d80f70b :
    Je ne comprend pas pourquoi j'ai ce retour. Les ArrayList ne sont pas adapté... ma méthode n'est pas la bonne ? Bien sur dans la vrai vie les fichiers ne sont pas setté a la main mais via une méthode.

    Merci de vos retours

    Syberi@

  3. #3
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 326
    Billets dans le blog
    12
    Par défaut
    Salut,

    Tu as un problème de copier/coller de file1 qui fait que tu ne fais que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    file1.setExtension(".xml");
    file1.setFileName("Fichier2");
    Et n'initialise pas les autres objets (file2 etc)
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  4. #4
    Membre éprouvé
    Homme Profil pro
    Expert Middleware
    Inscrit en
    Septembre 2006
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Expert Middleware

    Informations forums :
    Inscription : Septembre 2006
    Messages : 75
    Par défaut
    Oh le boulet ... désolé et merci

  5. #5
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 326
    Billets dans le blog
    12
    Par défaut
    C'est une petite faute d'inattention donc ce n'est pas très grave, mais ce qui est grave par contre (et je pense que tu ne le savais pas) c'est au niveau de ta servlet : tu ne dois pas créer d'attribut non-static (cf: myFiles) car ton instance de HttpServlet doit être stateless, ce dernier sera partagée par plusieurs requêtes HTTP, tel quel tu risques d'avoir des incohérences en production. Les servlets sont ultra puissants en Java EE, mais il faut savoir comment ils fonctionnent. Pour ton cas n'utilise donc pas d'attribut mais une variable locale à ta méthode, et enlève ce clear() en début de méthode
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

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

Discussions similaires

  1. Utilisation des entity beans dans une JSP ?
    Par ellow dans le forum JPA
    Réponses: 3
    Dernier message: 17/12/2009, 12h27
  2. Utilisation des beans et servlet
    Par psychoP@T dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 21/11/2009, 16h27
  3. utilisation des beans dans une jsp (jsp:useBean)
    Par limalima dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 15/09/2009, 01h35
  4. utilisation des beans
    Par jibe38 dans le forum Servlets/JSP
    Réponses: 13
    Dernier message: 09/01/2009, 09h51
  5. Usage d'utilisation des beans
    Par piloupy dans le forum Struts 1
    Réponses: 2
    Dernier message: 06/04/2007, 16h39

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