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 :

Javascript et JSF : problème de remplissage de liste


Sujet :

JSF Java

  1. #1
    Membre averti
    Inscrit en
    Janvier 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 29
    Par défaut Javascript et JSF : problème de remplissage de liste
    bonjour les amis,

    en fait j'ai un petit problème avec javascript<>jsf,

    j'ai 3 listes multiples, je remplie la troisieme avec des données des deux autres, ceci se fait grace a des fonctions que j'ai en javascript, le probleme est:
    Malgrés que la troisième liste se remplit correctement, lors de la validation du formulaire, j'ai une erreur:


    sourceId=NomFormulaire:ListFinPar[severity=(ERROR 2), summary=(NomFormulaire:NomtroisiemeListe: Erreur de validation: Valeur not valid.), detail=(NomFormulaire:NomtroisiemeListe: Erreur de validation: Valeur not valid.)]


    c'est comme si la liste remplie est vide!!!!

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Bon, comme tu t'en doutes, il s'agit d'une erreur de validation...
    Maintenant, sans connaître ton code, c'est difficile de donner plus d'informations quant à la résolution du problème !
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  3. #3
    Membre confirmé Avatar de nighthammer
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2005
    Messages : 122
    Par défaut
    Quelques pistes classiques à vérifier dans ce genre de cas :
    - La classe de l'objet sélectionné correspond-il aux classes des objets que tu as mis dans ta troisième liste,
    - les objets que tu as mis dans ta liste sont ils bien serialisable. Sinon, il y a peut être un converter à faire,
    - ...

    Voilà, c'est un début. Si ça ne marche toujours pas, est ce que tu peux nous mettre un peu de code, ça sera plus facile pour t'aider.

  4. #4
    Membre averti
    Inscrit en
    Janvier 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 29
    Par défaut
    tout d'abord Merci!

    les objets que tu as mis dans ta liste sont ils bien serialisable. Sinon, il y a peut être un converter à faire,
    j'ai pas bien compris le mot 'serialisable'!

    mon fichier jsf:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                  	<h:selectManyListbox id="ListFinPar" value="#{Bean.manyListboxItems}"  style="width: 215px; height: 114px">
                  	</h:selectManyListbox>
    Mon fichier java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    public class Bean {
    	private String[] manyListboxItems;;
     
     
    	public String[] getManyListboxItems() {
    		return manyListboxItems;
    	}
     
    	public void setManyListboxItems(String[] manyListboxItems) {
    		this.manyListboxItems = manyListboxItems;
    	}
    }

    j'ajouterais peut etre une remarque que j'ai fait: si la liste est remplie manuellement avec des valeurs avant les <f:selectItems itemValue="" itemLabel="">
    l'enregistrement se fait sans aucun probleme.

    MErci bcp

  5. #5
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Une classe est dite sérialisable à partir du moment où elle implémente l'interface java.io.Serializable.
    D'après ton code, ce n'est pas le cas ici...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  6. #6
    Membre confirmé Avatar de nighthammer
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2005
    Messages : 122
    Par défaut
    Citation Envoyé par romaintaz Voir le message
    Une classe est dite sérialisable à partir du moment où elle implémente l'interface java.io.Serializable.
    D'après ton code, ce n'est pas le cas ici...
    J'ajouterais que, concrètement, le fait d'implémenter la classe Serializable va permettre à JSF de stocker des objets dans la la page envoyée au client sous forme de chaines de caractères. Du coup, quand le client renverra le formulaire au serveur, ce dernier pourra recréer les objets contenu dans la page. Par exemple ici, il pourras savoir quels sont les objets qui ont été sélectionné.

    Ca m'étonne un peu que ça fonctionne quand tu rempli ta liste à la main. Qu'est ce que tu met comme valeur dans l'attribut "itemValue" de ton "f:selectItem" ? Du coup, je suppose que tu utilise un "f:selectItems" pour rentrer toutes tes valeurs. Peux tu nous montrer la fonction qui envoi la valeurs ? (Normalement une List<SelectItem>).

  7. #7
    Membre averti
    Inscrit en
    Janvier 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 29
    Par défaut
    bonjouur,

    Non, en fait, elle est serializable, le bean que je vous ai ecris n'est en fait qu'un backbean, et j'ai evité de mettre le extends pour plus de visibilité:


    ( ci aprés La methode qui recois les elements de cette h:selectManyListbox)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    public class BackBean extends Bean{
    	private String[] manyListboxItems;;
     
     
    	public String[] getManyListboxItems() {
    		return manyListboxItems;
    	}
     
    	public void setManyListboxItems(String[] manyListboxItems) {
    		this.manyListboxItems = manyListboxItems;
    	}
    }

    le Bean du quel ma classe hérite implémente la classe "serializable".

    Oui, elle marche à la merveille lorsque je remplie la liiste selectManyListbox à la main, je met dans la page jsf ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
                   	<h:selectManyListbox id="ListFinPar" value="#{BackBean.manyListboxItems}"  style="width: 215px; height: 114px">
                   		<f:selectItem itemLabel="f1:p1,p2" itemValue="1:2,3" />
                   		<f:selectItem itemLabel="f2:p1,p2" itemValue="1:2,3" />
                   	</h:selectManyListbox>

Discussions similaires

  1. Réponses: 11
    Dernier message: 21/07/2011, 14h27
  2. [WD15] problème de remplissage combo liste dans un exécutable
    Par stef1102 dans le forum WinDev
    Réponses: 4
    Dernier message: 04/04/2011, 15h39
  3. problème Javascript et JSF
    Par friedamichelle dans le forum JSF
    Réponses: 1
    Dernier message: 07/03/2011, 15h34
  4. Problème de raffraichissement de listes
    Par blondin01 dans le forum Access
    Réponses: 7
    Dernier message: 13/10/2005, 12h31
  5. Problème pour positionner une liste déroulante
    Par ouckileou dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 30/09/2004, 01h05

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