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

JSF Java Discussion :

JSF2 - PrimeFaces gallerie photos


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 100
    Par défaut JSF2 - PrimeFaces gallerie photos
    Bonjour
    J'essaye d'afficher une gallerie de photo en chargeant les images depuis le backingBean, mais sans succés.

    en fait je veux afficher des images qui se trouvent en dehors de la webapp.


    quelqu'un sait comment contourner ce problème?
    merci d'avance

    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
     
    public class GalleriaBean {
        List<StreamedContent> myListImages;
        public List<StreamedContent> getMyListImages(){
            myListImages = new ArrayList<StreamedContent>() ; 
    	String racine = "D:/PRIV/images/galleria/";
    	try {
              // deux images pour le test (1.jpg et 2.jpg)
    	  for (int i = 1; i < 3; i++) {
    	    File imgFile = new File(racine +i + ".jpg");
    		if(imgFile.exists()) {
    		       StreamedContent sc = new DefaultStreamedContent(new FileInputStream(imgFile), "image/jpg");			
    			myListImages.add(sc);
    		    }
    		}
    	}catch (Exception e) {
    		e.printStackTrace() ;
    	}
    	return myListImages ;
    }
    .....
     
    }
    galleria.xhtml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
          <p:galleria value="#{galleriaBean.myListImages}" var="image">
    		<p:graphicImage value="#{image}" />
    	</p:galleria>
    Erreur au lancement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    28 janv. 2013 16:42:16 org.primefaces.application.PrimeResourceHandler handleResourceRequest
    GRAVE: Error in streaming dynamic resource. null
    28 janv. 2013 16:42:16 org.primefaces.application.PrimeResourceHandler handleResourceRequest
    GRAVE: Error in streaming dynamic resource. null
    28 janv. 2013 16:42:16 org.primefaces.application.PrimeResourceHandler handleResourceRequest
    GRAVE: Error in streaming dynamic resource. Expression cannot be null
    28 janv. 2013 16:42:16 org.primefaces.application.PrimeResourceHandler handleResourceRequest
    GRAVE: Error in streaming dynamic resource. Expression cannot be null

  2. #2
    Membre expérimenté Avatar de fastdeath124
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Août 2011
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Août 2011
    Messages : 117
    Par défaut
    Bonjour, je propose les modifications suivantes :
    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
    public class GalleriaBean {
        private List<StreamedContent> myListImages;
        public List<StreamedContent> getMyListImages(){
            // la liste doit être instanciée
            myListImages = new List<StreamedContent>();
    	String racine = "D:/PRIV/images/galleria/";
    	try {
              // deux images pour le test (1.jpg et 2.jpg)
              //Il est préférable de sortir la déclaration de la boucle
              StreamedContent sc;
    	  for (int i = 1; i < 3; i++) {
    	    File imgFile = new File(racine +i + ".jpg");
    		if(imgFile.exists()) {
    		       sc = new DefaultStreamedContent(new FileInputStream(imgFile), "image/jpg");			
    			myListImages.add(sc);
    		    }
    		}
    	}catch (Exception e) {
    		e.printStackTrace() ;
    	}
    	return myListImages ;
    }
    .....
     
    }
    J'espère que ça corrige le problème.

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 100
    Par défaut
    Bonjour Mr fastdeath.

    Je te remercie pour ton retour, mais je ne vois pas le rapport entre la déclaration et le problème. (faire sortir la déclaration de la boucle peut avoir un intérêt uniquement au niveau mémoire).

    pour infos, en java: List est une interface, on ne peut pas faire un new List() à moins si tu fais class anonyme.

    de mémoire, List est implémentée par : ArrayList, Vector, LinkedList

    j 'ai testé en sortant la déclaration de la boucle mais j'ai toujours le même problème.

    il me semble que le Pb c'est au niveau de l'implémentation primefaces, il récupère mal les EL.


    cdt

  4. #4
    Membre expérimenté Avatar de fastdeath124
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Août 2011
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Août 2011
    Messages : 117
    Par défaut
    Oui t'as raison j'ai pas fait attention, ça doit être:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            myListImages = new ArrayList<StreamedContent>();
    Ton problème ne vient pas de la déclaration qui se trouve à l'intérieur de la boucle. Comme tu le dis c'est juste pour conserver la mémoire.
    Par contre le fait d'appeler la méthode "add" sans instancier la liste est un problème.

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 100
    Par défaut
    Merci,

    mais je pense que ma liste est bien instanciée, ligne 5 dans mon premier post. je ne voit pas trop de différence à moins si on ne visualise pas le même rendu du message.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public class GalleriaBean {
        List<StreamedContent> myListImages;
        public List<StreamedContent> getMyListImages(){
            myListImages = new ArrayList<StreamedContent>() ; 
    ......

  6. #6
    Membre expérimenté Avatar de fastdeath124
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Août 2011
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Août 2011
    Messages : 117
    Par défaut
    Oh désolé je m'excuse

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

Discussions similaires

  1. Problème sur Gallerie Photo Flash du site
    Par brazilia28 dans le forum Flash
    Réponses: 4
    Dernier message: 09/02/2007, 18h08
  2. [Spip] Site avec gallerie photo intégrée
    Par Wookai dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 9
    Dernier message: 04/07/2006, 14h25
  3. Problème pour la Gallerie photo
    Par tabtab dans le forum Flash
    Réponses: 5
    Dernier message: 07/06/2006, 16h43
  4. [Galerie] Galerie photo automatique
    Par nikolanta dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 03/06/2006, 22h56
  5. [Js][pb gallerie photo]
    Par PyrroX dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/01/2006, 01h38

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