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 :

[JSP]Afficher les images d'une ArrayList ?


Sujet :

Struts 2 Java

  1. #1
    Membre confirmé
    Profil pro
    gnome
    Inscrit en
    Octobre 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : El Salvador

    Informations professionnelles :
    Activité : gnome

    Informations forums :
    Inscription : Octobre 2004
    Messages : 142
    Par défaut [JSP]Afficher les images d'une ArrayList ?
    Bonjour,

    Actuellement, pour récupérer les images dans mes pages JSP, j'utilise la balise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="<s:property value="picUrl"/>"/>
    où picUrl contient l'URL vers l'Action qui retourne une image.

    Or, avec ce système, s'il faut charger 50 images dans la page web, il y a 50 appels vers cette Action, et 50 connexions à la base. Pas satisfaisant.

    Un utilisateur de ce forum m'a conseillé de mettre toutes mes images dans une ArrayList (sous forme de byte[]), via l'Action qui précède la page en question.

    Mon problème actuel est donc de savoir comment faire afficher dans la page web ces images que j'ai sous forme d'ArrayList<byte[]>.

    J'imagine qu'il faut excécuter un <iterator> dessus. Jusques là tout va bien. Mais à l'intérieur de cet itérator, je ne sais que mettre pour faire afficher l'image. Je ne vois plus comment utiliser la balise <img src="..."/>, puisque la source n'est plus une URL, mais l'ArrayList déjà accessible.
    Et un tag
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <s:property value="image_en_byte"/>
    n'affiche que du texte, selon moi.

    Merci de votre aide.
    bob

  2. #2
    Membre confirmé
    Profil pro
    gnome
    Inscrit en
    Octobre 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : El Salvador

    Informations professionnelles :
    Activité : gnome

    Informations forums :
    Inscription : Octobre 2004
    Messages : 142
    Par défaut
    Vraiment personne qui connaisse ce cas de figure ?

  3. #3
    Membre confirmé
    Profil pro
    gnome
    Inscrit en
    Octobre 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : El Salvador

    Informations professionnelles :
    Activité : gnome

    Informations forums :
    Inscription : Octobre 2004
    Messages : 142
    Par défaut
    un dernier appel

  4. #4
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 58
    Par défaut
    Salut,

    je n'ai jamais fait ça mais comme personne ne te répond je balance juste une idée comme ça ^^

    tu as essayé de les faire afficher dans un tableau, en tant qu' ArrayList<Objet>?
    Comme si c'était par exemple un ArrayList<String>...
    Le tableau au moins te fait l'itérator tout seul...

  5. #5
    Membre confirmé
    Profil pro
    gnome
    Inscrit en
    Octobre 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : El Salvador

    Informations professionnelles :
    Activité : gnome

    Informations forums :
    Inscription : Octobre 2004
    Messages : 142
    Par défaut
    Bonjour,

    Je n'y crois pas beaucoup. Mais ça vaut le coup d'essayer.

    Sinon, j'ai une autre idée :

    - Dans l'action qui précède la page, récupérer toutes les images dans l'ArrayList<byte[]>
    - Mettre cette ArrayList comme objet de session (mais peut-on mettre ce type d'objet en session ?)
    - Ensuite, dans la JSP, faire pointer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="<s:property value="picUrl"/>"/>
    vers une classe "Action" dont le but ne serait pas de récupérer l'image voulue dans la BD, mais dans cet objet de session.

    On évite ainsi 50 connexions à la BD. Mais on continue de lancer 50 requêtes parallèles vers Tomcat.

    Pensez-vous que ça peut marcher ?

    Mes doutes concernent aussi la taille (potentiellement élevée) de cet objet de session censé contenir plein d'images).

    merci
    bob

  6. #6
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 58
    Par défaut
    Franchement, je ne sais pas, tu as sûrement un meilleur niveau que moi sur struts 2... ^^

    Mais je me dis la même chose que toi, un tableau comme celui là doit forcément poser des problèmes de mémoire.
    Tu as essayé de demander sur le forum des "pros"? ;-)

    http://www.nabble.com/Struts-f203.html

  7. #7
    Membre confirmé
    Profil pro
    gnome
    Inscrit en
    Octobre 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : El Salvador

    Informations professionnelles :
    Activité : gnome

    Informations forums :
    Inscription : Octobre 2004
    Messages : 142
    Par défaut
    Merci pour l'adresse. Je n'ai jamais posté sur ce forum.

    Concernant Strut2, je suis un utilisateur basique. Dans mon labo je suis le seul à l'utiliser et j'apprends sur le tas.

    Ceci dit, ma question concerne le dev d'applis web en Java de façon générale. Ce n'est pas vraiment spécifique à Struts 2, enfin il me semble.

  8. #8
    Membre confirmé
    Profil pro
    gnome
    Inscrit en
    Octobre 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : El Salvador

    Informations professionnelles :
    Activité : gnome

    Informations forums :
    Inscription : Octobre 2004
    Messages : 142
    Par défaut
    Salut,

    J'ai trouvé une solution :

    - Récupérer toutes les images dans l'Action qui précède l'affichage de la page, et les mettre dans un répertoire temporaire sur le FS.

    - Ensuite, les balises <img src="... > vont chercher leurs images dans ce dossier

    Je souhaitais ne pas utiliser le système de fichiers, mais le résultat est là : vitesse x 1000 !

    Maintenant, je le sais !

    a+
    bob

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

Discussions similaires

  1. Afficher les image dans une Gridview
    Par nitch01 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 30/06/2011, 08h11
  2. Réponses: 6
    Dernier message: 05/05/2011, 18h50
  3. Afficher les éléments d'une ArrayList
    Par ziad.shady dans le forum Collection et Stream
    Réponses: 12
    Dernier message: 06/04/2009, 13h17
  4. Afficher les images d'un dossier dans une IHM
    Par danathane dans le forum Langage
    Réponses: 4
    Dernier message: 26/06/2008, 15h27
  5. Afficher les dimension d'une image
    Par persia dans le forum Flash
    Réponses: 3
    Dernier message: 24/09/2007, 10h18

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