-
VWP Components
Bonjour à tous ;
je poursuis mon exploration du VWP;
apres avoir voulu attaquer tout de suite par le haut j'ai revisé mes ambitions et franchement je galère un peu au début ...
Vous avez trouvez où le plus d'info (autres que les petits tutoriaux) valables sur ce produit ? Merci de partager vos sources
Pour faire un rapide paratge d'expériences :
Là pour comprendre pourquoi mon Dropdown ne fonctionnait pas il m'a fallu un temps fou :
Dans un 1er temps je faisais
Long id = (elem.getId()); //Logique mon ID est un Long
String name = elem.getLogin(); //Le nom affiché
Option option = new Option(id, name);
et je ne comprenais pas pourquoi apres une sélection ma dropdown restait tjrs sur la même valeur.
Il fallait faire :
String id = (elem.getId()).toString();
String name = elem.getLogin();
avec en plus un message d'erreur
com.sun.webui.jsf.component.DropDown::The current value of component form1:DD_choose does not match any of the selections.
Did you forget to reset the value after changing the options?
Voilà c'est juste pour les débutants qui auraient le même probleme que moi.
Mais ce n'est pas tout , en plus de cette histoire voilà que
je n'arrive pas à obtenir la valeur sélectionnée !!
non ne rigolez pas ;
me basant sur les tutoriaux j'ai essayé
getSelected ; puis getValue; puis getSubmittedValue !!
que je castais en String et rien ne fonctionnait
Bon dieu pas une seule référence disponible ?! (ou c'est moi qui chercher comme un pied ? pourtant j'en ai fait du Google dessus..
Au final j'ai vu qu'en guise d'objet c'est un String [] que renvoie le getSubmittedValue() et oui mesdames et messieurs; un tableau à juste une entrée, Alors que je m'attendais à un String ?
Donc là j'ai réussi à me débloquer tout seul MAIS je suis perplexe ; j'ai visiblement raté un épisode car dans les tutoriaux les mecs utilisait getSelected qui leur renvoyait bien un String.
Quelqu'un peut il nous éclairer sur ce mystère ?
et s'il vous plaît si vous avez l'utl qui explique comment on est sensé utiliser les divers types de composants (je ne crois pas avoir vu ceci mentionné dans la javadoc non plus)
@+
-
Bonjour,
Pour savoir le type des valeurs renvoyées, rien ne vaut le débugger, c'est vrai qu'on est parfois surpris...
Valère
-
Oui surpris est bien le mot !
Mais j'avoue que pour moi cela ressemble beaucoup plus à une désagréable surprise ;-(
C'est quand même étrange d'avoir des surprises avec des composants aussi commun et indispensables qu'une liste déroulante ?!
qu'est ce que c'est sur des composants plus "complexes" alors ....
Cela signifie une perte de temps énomre à acquérir les bases .
passer tout ce temps pour comprendre qu'un dropdown a des methodes aux noms explicites mais trompeurs comme
getSelected
puis getValue
puis getSubmittedValue
et enfin voir qu'un seul est effectif ; et qu'en plus il ne renvoie absolument pas ce à quoi on est "en droit" de s'attendre..
j'ose pas imaginer si je dois faire ce genre d'expérimentation avec tous les composants basiques et évolués
L'absence d'une source fiable et structurée d'info sur ce VWP le rend à mes yeux très, très peu recommandable....
Mais je crois que j'ai mal cherché,( mais pourtant personne sur le forum ne m'a fourni des liens)
Je vais continuer à fouiner sur le web , il y a forcément un lien vers une référence quelque part...
-
Ton composant était-il bien un dropdown ou bien une listbox? Si c'est une listbox, qui peut donc renvoyer plusieurs valeurs, le String[] est compréhensif... J'ai déjà vu des composants qui renvoient soit un objet soit un tableau d'objet, c'est plutôt déroutant.