ATTENTION : Tutorial en cours d'écriture ! N'hésitez pas à nous signaler toute erreur ou suggestion.
Accès rapide :
Syntaxe générale
Répétition d'éléments de choix
Un composant <web:ChoiceSelector> permet la saisie d'une valeur parmi une liste de choix. Le composant
<ChoiceSelector> permet de définir la liste de choix. Le composant <ChoiceElement> permet de définir
un choix donné : ce composant doit, bien entendu, être placé dans la liste. Voici quelques exemples de listes, avec les trois modes supportés.
<div> Sex : <web:ChoiceSelector id="dpdSex" selectorType="dropdown" autoPost="true"> <web:ChoiceElement text="male" value="0" /> <web:ChoiceElement text="female" value="1" /> </web:ChoiceSelector> <br/> <br/> Sex 2 : <web:ChoiceSelector id="rdoSex2" selectorType="radio_buttons" value="0"> <web:ChoiceElement text="male" value="0" /> <web:ChoiceElement text="female" value="1" /> </web:ChoiceSelector> <br/> <br/> Sex 3 : <web:ChoiceSelector id="lstSex3" selectorType="list" value="1"> <web:ChoiceElement text="male" value="0" /> <web:ChoiceElement text="female" value="1" /> </web:ChoiceSelector> <br/> <br/> </div>
Il est possible de générer dynamiquement une liste de choix, à partir d'un tableau de valeur. Afin de mieux comprendre les choses, regardons les deux extraits
de code suivants. Le premier correspond à la classe de page Web : la méthode getCities permettant l'extraction d'un tableau d'objets de description
de villes. Le second extrait montre comment répéter les éléments à partir de ces données.
01 package corelib.services.web.samples.virtualcaddy.webpages.samples;
02
03 import corelib.services.web.webapplications.WebPage;
04
05 public class ChoiceSelectorSamples extends WebPage {
06
07
08 public CityPair [] getCities() {
09 return new CityPair [] {
10 new CityPair( "Lyon", 0 ),
11 new CityPair( "Nice", 1 ),
12 new CityPair( "Paris", 2 ),
13 new CityPair( "Toulouse", 3 )
14 };
15 }
16
17
18
19 public class CityPair {
20 private String name;
21 private int code;
22
23 public CityPair( String name, int code ) {
24 this.name = name;
25 this.code = code;
26 }
27
28 public String getName() {
29 return this.name;
30 }
31
32 public int getCode() {
33 return this.code;
34 }
35 }
36
37 }<div> City : <web:ChoiceSelector id="dpdCity" selectorType="dropdown" autoPost="true"> <web:Repeater values="#{this.cities}" elementAlias="city"> <web:ChoiceElement text="#{city.name}" value="#{city.code}" /> </web:Repeater> </web:ChoiceSelector> <br/> </div>
Notez que pour la liaison aux données, ce sont les propriétés des différents objets qui sont utilisées. Ainsi derrière l'expression de liaison
#{this.cities} se cache un appel à la méthode getCities. De même, derrière l'expression #{city.name} se cache un
appel à la méthode getName (city étant un alias sur, tour à tour, chaque élément du tableau de villes).
|
|
|||||||