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 2 Java Discussion :

Charger plusieurs images dans une jsp a partir de la base de données


Sujet :

Struts 2 Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Charger plusieurs images dans une jsp a partir de la base de données
    Bonjour,

    Mon problème est le suivant : j'ai une JSP qui charge une image depuis la base de données ( image stockée sous forme de blob dans MYSQL) en appelant une action.

    Ca fonctionne avec UNE image, mais pas avec PLUSIEURS !
    La JSP me charge toujours la meme image lorsque j'essaie d'en appeler plusieurs.
    Y a t il une autre manière de procéder ?
    Merci de votre aide !!!

    La jsp :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <body>
       <h1>Images</h1>
    <s:subset source="listePhotos"> 
      	<s:iterator  status="status">
            <s:set name="index" value="%{#index.status}+1"/><br>
            <img src="<s:url action='ImageAction'/>" width="200" height="200" border="0"/>
        </s:iterator>
        </s:subset>
    L'action : (imageAction)

    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
    Map session = ActionContext.getContext().getSession();
    		Membre m = (Membre) session.get("logged");
    		List<Photo> photoList = m.getMonAlbum().getListPhotos();
    		HttpServletRequest request = ServletActionContext.getRequest();
    		int index = this.getIndex();
    		Photo photo = (Photo) photoList.get(index);
     
    		byte[] data = photo.getPhotoByte();
     
     
     
    		try {   
     
    			HttpServletResponse response = ServletActionContext.getResponse();
     
    		response.setContentType(photo.getContentType());   
    		response.getOutputStream().write(data);

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 29
    Points : 33
    Points
    33
    Par défaut
    Tu peux montrer le code html généré?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Salut,
    Comme le sujet a l'air de passionner du monde , je me reponds a moi meme ( pour les malheureux a la recherche de la meme solution )

    Code de la jsp affichant la liste d'images (listePhotos ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <s:iterator value="listePhotos" id="photo" status="stat">
      	<s:url id="urlfot" action="ImageActionAlbum" namespace="/album">
                <s:param name="id_photo"><s:property value="id"/></s:param>
    </s:url>
    <s:property value="id"/>
            <img:image src="${urlfot}" width="200" height="200" />
        </s:iterator>
    Code de l'action ImageActionAlbum ( recherche l'image dans la BDD ) selon un id transmis dans l'url ci-dessus :

    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
    Map session = ActionContext.getContext().getSession();
    		HttpServletRequest request = ServletActionContext.getRequest();
    		GestionPhoto phot = new GestionPhoto();
     
    		Membre m = (Membre) session.get("logged");
    		Photo p = new Photo();
    		if(request.getParameter("id_photo")!=null)
    		{
    			String id_string = request.getParameter("id_photo");
    			Long id_cherche = Long.valueOf(id_string);
    			p = phot.getPhotoById(id_cherche);
    		}
     
    		byte[] data = p.getPhotoByte();
     
     
     
    		try {   
     
    			HttpServletResponse response = ServletActionContext.getResponse();
    			response.reset();
    		response.setContentType(m.getFileContentType());   
    		response.getOutputStream().write(data);

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

Discussions similaires

  1. Réponses: 28
    Dernier message: 18/05/2010, 15h14
  2. image dans une jsp
    Par amilatyr dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 05/12/2007, 21h23
  3. [MySQL] Stocker plusieurs images dans une db
    Par innova dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 27/12/2006, 14h04
  4. Réponses: 5
    Dernier message: 14/05/2006, 12h57

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