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 :

[selectitem]Value accepte que les String?


Sujet :

JSF Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 74
    Points : 52
    Points
    52
    Par défaut [selectitem]Value accepte que les String?
    Bonjour,

    Voilà, je développe avec JSF et j'ai le soucis suivant :

    Je réalise une liste déroulante et le selectitem que j'utilise je lui fournit un String pour le label et un objet pour la value ....

    Hors ca se plante me disans que value attendun String alors que la javadoc m'indique que je peux lui donner un objet !!!!

    Voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public Collection getListeMotifSelectItem() {
     
    if(listeMotif!=null && !listeMotif.isEmpty() && listeMotifSelectItem.isEmpty())
          for (Iterator iter = listeMotif.iterator(); iter.hasNext();) {
    	Parametre para = (Parametre) iter.next();
    	listeMotifSelectItem.add(new SelectItem(para,para.getLibelleCourtParam()));
         }
      return listeMotifSelectItem;
    }
    le JSF:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <h:selectOneMenu id="motifAllBlocageId" required="true" value="#{blocageRegimeBean.motif}">
    <f:selectItems value="#{blocageRegimeBean.listeMotifSelectItem}" />
    </h:selectOneMenu>
    L'exception retourner

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    javax.servlet.ServletException: Value is no String and component _id4:motifAllBlocageId does not have a Converter
    	javax.faces.webapp.FacesServlet.service(FacesServlet.java:121)
    	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
     
     
    root cause 
     
    javax.faces.FacesException: Value is no String and component _id4:motifAllBlocageId does not have a Converter
    	org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:421)
    	org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:234)
    	org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:352)
    	javax.faces.webapp.FacesServlet.service(FacesServlet.java:107)
    	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
    Si vous pouvez m'expliquer ce serait sympa et si on ne peut pas renvoyer autre chose qu'un String, est ce qu'il existe une solution pour envoyer n'importe qu'elle Object

    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 511
    Points : 514
    Points
    514
    Par défaut
    Effectivement le Selectitem n'accepte que les String en value.

    Si tu veux autre chose qu'un string il faut que tu crée un converter. Et que tu le lie à ta list grace à l'attribut converter.

    Néanmois si tu as un objet "simple" du genre integer, long... Il semble qu'il suffit juste de mettre le type de ton objet à l'attribut converter :
    <SelectOneList box ..... converter="javax.faces.Long">

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 74
    Points : 52
    Points
    52
    Par défaut
    Justement il ne s'agit pas d'un type simple !!!

    J'avais commencer à tester avec un converter mais je ne suis aps vraiment aller trop loin je l'avoue,

    Je vais continuer sur cette voie, merci !!!

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 74
    Points : 52
    Points
    52
    Par défaut
    J'ai fait plusieurs tests avec un converter et j'arrive toujours au meme probleme, c'st a dire que je n'arrive pas a ce que ma liste me renvoie un objet Parametre et non une String !!!

    Sachant que je ne peux pas faire d'accés en base pour récuperer l'objet avec la String que je recoit !!!

    Si vous avez une solution ....

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 31
    Points : 16
    Points
    16
    Par défaut
    Dans mon cas, j'ai utilisé une Map<String, MyClass> pour alimenter ma liste.
    La clé est utilisée pour l'affichage dans la liste (information intelligible pour l'utilisateur). La valeur est utilisée pour le binding avec ton Bean.
    J'ai ensuite défini un Converter pour MyClass que j'ai déclaré dans le fichier de configuration.

    Pour plus d'information : http://www.developpez.net/forums/sho...d.php?t=177773

Discussions similaires

  1. JavaScript/Zone de texte : n'accepter que les caractères numériques
    Par arkienou dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 26/07/2006, 14h16
  2. un input qui accepte que les chiffres ?
    Par VerrNum dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 27/03/2006, 13h28
  3. un CEdit qui n'accepte que les décimaux
    Par Midou dans le forum MFC
    Réponses: 4
    Dernier message: 01/03/2006, 17h43
  4. un champ n'accepte que les chiffres....
    Par fadex dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 19/10/2005, 14h18

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