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 :

Selectitemes et hibernate


Sujet :

JSF Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 30
    Points : 31
    Points
    31
    Par défaut Selectitemes et hibernate
    bonjour un autre problem:

    <x:selectOneMenu id="menu_roles" >
    <f:selectItems value="#{userForm.roles}" />
    </x:selectOneMenu>
    my userForm.roles get his data from an Hibernate session.
    ...
    public List getRoles() {
    List roles = null;
    System.out.println("userForm.getRoles");
    try {
    Session session =
    HibernateSessionFactory.currentSession();
    roles = session.find("from Role");
    } catch (HibernateException e) {
    e.printStackTrace();
    }
    return roles;
    }

    I get this exception
    javax.faces.FacesException: Collection referenced by UISelectItems with
    binding '#{userForm.roles}' and Component-Path : {Component-Path :
    [Class: javax.faces.component.UIViewRoot,ViewId: /role.jsp][Class:
    org.apache.myfaces.component.html.ext.HtmlSelectOneMenu,Id:
    menu_roles][Class: javax.faces.component.UISelectItems,Id: _id0]} does
    not contain Objects of type SelectItem

    1)I need translate Hibernate List get from session.find in
    []SelectItem?

    2) When I use Hibernate with jsf what it is the better session strategy
    (ex. close, open). In my getRoles method I must close hibernate
    session?

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2005
    Messages : 37
    Points : 17
    Points
    17
    Par défaut
    Salut !

    Ton selectonemenu ne marche pas car les objets que doit contenir la liste bindé à ton <f:selectItems> doivent être de type SelectItem.

    Tu dois donc creer une seconde liste à partir de celle que te rend ton dao.

    Un truc du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public List<SelectItem> getItems(){
      List temp = getRoles();
      List resu<SelectItem> = new ArrayList<SelectItem>();
      for(int i=0;i<temp.size();i++){
        resu.add(new SelectItem(temp.get(i).getValeur(),temp.get(i).getDescription() ));
      }
      return resu;
    }
    Et hop, le tour est joué

    Pour ta seconde question, desolé, mais je poeux pas vraiment t'aider. Je ferme toujours mes sessions, mais je ne sais même pas si c'est utile , alors bon...

    Bonne chance,

    Yann

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 30
    Points : 31
    Points
    31
    Par défaut
    merci bien thanks

Discussions similaires

  1. [Hibernate] Problemes de connexion d'un sous domaine
    Par sylvain_neus dans le forum Hibernate
    Réponses: 15
    Dernier message: 09/05/2006, 10h49
  2. [Stratégie]JDBC ou Hibernate
    Par yanis97 dans le forum JDBC
    Réponses: 3
    Dernier message: 03/12/2004, 16h23
  3. [Plugin] Hibernate
    Par speedster dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 26/08/2004, 11h01
  4. Fonctionnement d'Hibernate
    Par coyot dans le forum Hibernate
    Réponses: 12
    Dernier message: 19/05/2004, 19h10
  5. [JDO]Hibernate : Mapping d'un champ auto-incrémenté
    Par brice.antoine dans le forum Hibernate
    Réponses: 4
    Dernier message: 02/04/2004, 10h36

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