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 :

Récupérer le premier element d'hashSet [Struts 2] [Hibernate]


Sujet :

Struts 2 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 97
    Par défaut Récupérer le premier element d'hashSet [Struts 2] [Hibernate]
    Bonjour, je travail avec struts 2, Hibernate 3.5 et JBOSS et je tiens à souligné que je suis débutant en Java.

    Dans ma base de donnée une boutique est composé de produit. Le produit est composé d'image.

    Dans l'action boutique je récupères tous les produit à l'aide d'un fonction getAll

    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
     
    Hibernate
     
    public List<Produit> getAllByBoutiqueId(int boutiqueId)
        {
            Session session = ConnectionFactory.getInstance().getSession();
            try {
     
                Transaction tx = session.beginTransaction();
                List<Produit> produitList = session.createQuery("select p from Produit p left join fetch p.photoses where p.boutique.idBoutique= :id group by p")
                        .setParameter("id", boutiqueId)
                        .list() ;
                for (Produit produit : produitList) {
                    session.refresh(produit);
                }
                tx.commit();
                return produitList;
            } catch (Exception e) {
                System.out.println("Erreur lors de la récupération des catégories : " + e.getMessage());
                return null;
            }
        }
    Dans mon action j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    private List<Produit> listeProduit = new ArrayList<Produit>();
            listeProduit=ProduitManager.getInstance().getAllByBoutiqueId(commercant.getBoutique().getIdBoutique());
    Dans la vue j'essaye de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <s:iterator value="listeProduit" status="ligne">
                <s:if test="#ligne.odd"><tr class="ligne1"></s:if>
                <s:if test="#ligne.even"><tr class="ligne2"></s:if>
                    <td><img width="100" height="100" src="${photoses[0].urlPhoto}" alt="image"/></td>
                    <td><s:property value="prodLibelle" /></td>
    </s:iterator>
    J'ai un exception généré au niveau de {photoses[0].urlPhoto}

    Je veux récupérer la première image qui est stockée (ou affiché l'ensembe des images).
    Pour ce faire je dois convertir photoses (HashSet) en iterator ou tableau et récupérer le premier élément. Mais j'ignore comment travailler sur ma photoses à l'interieur du jsp.

    Je vous remercie d'avance de votre aide.

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 131
    Par défaut
    Bonjour,

    tu peux poster ton exception ?

    Mais déjà, à vue de nez comme ça, j'aurais pas mis l'url directement comme ça mais plutôt avec une balise <s:url value="tonurl" />

  3. #3
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 97
    Par défaut
    L'exception générer est le suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    javax.el.PropertyNotFoundException: Property '0' not found on type org.hibernate.collection.PersistentSet
    	javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:193)
    	javax.el.BeanELResolver$BeanProperties.access$400(BeanELResolver.java:170)
    	javax.el.BeanELResolver.property(BeanELResolver.java:279)
    	javax.el.BeanELResolver.getValue(BeanELResolver.java:60)
    	javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
    	org.apache.el.parser.AstValue.getValue(AstValue.java:97)

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonsoir,

    Utilises la methode toArray du HashSet pour avoir le tableau afin que tu puisses utiliser l'indice 0 s'il contient au moins un objet.

    A+.

  5. #5
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 97
    Par défaut
    J'ai essayé de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ${photoses.toArray().getAt(0)}
    Mais toujours rien :s

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Re,

    Un array ne possède pas une methode getAt(), utilise directement "[0]" et n'oublie pas de faire le cast de l'objet pour récupérer l'attribut urlPhoto.

    Euh, tu là récupérer où ton HashSet photoses?

    A+.

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

Discussions similaires

  1. Récupérer tous les elements d'un DIV
    Par arnolem dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 18/07/2006, 15h13
  2. Réponses: 2
    Dernier message: 15/05/2006, 10h27
  3. Comment mettre le premier element DbLookUpCombo
    Par CheGueVerra dans le forum Bases de données
    Réponses: 1
    Dernier message: 02/12/2004, 20h45
  4. Récupérer le premier enregistrement d'un attribut
    Par Tapioca dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 05/08/2004, 09h56
  5. [langage] supprimer le premier élément d'un tableau
    Par Kinethe dans le forum Langage
    Réponses: 2
    Dernier message: 20/07/2004, 15h39

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