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 :

Espaces multiples dans value d'un selectManyListbox


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 32
    Par défaut Espaces multiples dans value d'un selectManyListbox
    Bonjour,

    J'ai actuellement un problème avec un élément selectManyListbox.
    Dans cette liste se trouvent plusieurs options dont les valeurs sont au format String (je n'ai malheureusement pas la possibilité de faire autrement, bien qu'un id numérique aurait été plus approprié ...).
    Le problème est causé par ces valeurs au format String, car certaines contiennent plusieurs espaces contigus.

    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Forum  des    professionnels"
    Malgré que le selectManyListbox est required="false", dès que je sélectionne les options de la liste qui ont plusieurs espaces consécutifs, j'obtiens une erreur de validation du formulaire.

    Savez-vous me dire s'il s'agit d'un bug de JSF ?
    A ma connaissance, la norme HTML n'impose pas de valeur particulière dans les options d'une liste déroulante, si ce n'est que le navigateur est susceptible de supprimer les espaces au début et à la fin (trim de la valeur).

    Merci.

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    peux tu montrer le code et l'erreur générée.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 32
    Par défaut
    Bonjour,

    Oui bien sur, voici le code JSF

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <a4j:form id="myForm">
      <rich:messages />
     
      <h:selectManyListbox id="myList">
        <f:selectItems value="#{myMB.mySelectItems}" />
      </h:selectManyListbox>
     
      <h:commandButton id="myButton" type="submit" action="#{myMB.download}" value="Envoyer"/>
    </a4j:form>
    Ainsi que le bean

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public List<SelectItem> getMySelectItems() {
      mySelectItems = new ArrayList<SelectItem>();
      mySelectItems.add(new SelectItem("Forum  des    professionnels", "Forum  des    professionnels"));
      return mySelectItems;
    }
    Si je sélectionne l'option de la liste déroulante et que je clique ensuite sur le bouton, j'obtiens l'erreur de validation "Value not valid".

    Je n'obtiens pas le message d'erreur lorsque je remplace la valeur de l'option par un string sans espaces contigus.

  4. #4
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    utilise un simple h:form, ce n'est pas utile d'utiliser a4j:form sauf dans des cas rares.

    et le code de la déclaration de ta variable myList?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 32
    Par défaut
    Le problème est identique avec un <h:form>.
    La déclaration de la variable se fait de cette façon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private List<SelectItem> mySelectItems;
    Bizarre n'est-ce pas

    EDIT : la version de JSF utilisée est la 1.2_09.

  6. #6
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    je parlais de la variable qui prend la valeur du select, je constate que tu l'a pas défini,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <h:selectManyListbox id="myList" value="#{myMB.myList}">
        <f:selectItems value="#{myMB.mySelectItems}" />
      </h:selectManyListbox>
    mySelectItems est une liste de choix mais il faut une variable qui prend la ou les valeurs sélectionnées.

Discussions similaires

  1. Retour multiple dans une scalar-valued function
    Par Djoul82 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 31/03/2010, 15h09
  2. [Débutant] Sélection multiples dans une Listbox
    Par eraim dans le forum Access
    Réponses: 4
    Dernier message: 15/10/2005, 03h21
  3. Enregistre résulat multiplication dans une table
    Par faranfasi dans le forum Access
    Réponses: 2
    Dernier message: 11/10/2005, 13h04
  4. Problème d'ajout multiples dans un BDD Access
    Par arnaud_verlaine dans le forum Langage SQL
    Réponses: 3
    Dernier message: 31/05/2004, 13h34
  5. [SYBASE]Libérer espace libre dans une base de données ?
    Par le_parrain dans le forum Sybase
    Réponses: 3
    Dernier message: 14/05/2004, 09h36

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