Bonjour,
Je débute en JSF avec SEAM et je n'arrive pas a rafraichir qu'une partie de la page.
Ma page est découpé en 3 parties :
- un div qui contient un "h:selectOneRadio"
- un div qui contient une zone de saisie A
- un div qui contient une zone de saisie B
L'objectif est d'afficher une zone de saisie A si je clique sur la valeur "defense" du radio ou une zone de saisie B si je clique sur la valeur "attaque" du radio
Le code de mon XHTML
Le code de mon bean
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <s:div styleClass="B2"> <h:outputText value="Type de saisie : "/> <h:selectOneRadio id="type_saisi" immediate="true" value="#{Bean.choixAffichage}"> <f:selectItem itemLabel="Defense" itemValue="defense" /> <f:selectItem itemLabel="Attaque" itemValue="attaque" /> <a4j:support event="onchange" reRender="bloc_saisi_attaque,bloc_saisi_defense" /> </h:selectOneRadio> </s:div> <a4j:outputPanel ajaxRendered="true" rendered="#{Bean.bolRegionAttaque}" id="bloc_saisi_attaque"> <s:div styleClass="B3" id="saisi_attaque" > <h:outputText value="Attaque"/> </s:div> </a4j:outputPanel> <a4j:outputPanel ajaxRendered="true" rendered="#{Bean.bolRegionDefense}" id="bloc_saisi_defense"> <s:div styleClass="B3" id="saisi_defense"> <h:outputText value="Defense"/> </s:div> </a4j:outputPanel>
Pouvez-vous m'aider a trouver pourquoi je n'arrive pas a afficher qu'un des 2 bloques avec le reRender du radio
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 // Valeur du choix du radio private String choixAffichage ="defense"; public String getChoixAffichage() { return choixAffichage; } public void setChoixAffichage(String strpChoixAffichage) { choixAffichage = strpChoixAffichage; if(choixAffichage.equalsIgnoreCase("defense")){ setBolRegionAttaque(false); setBolRegionDefense(true); } else { setBolRegionAttaque(true); setBolRegionAttaque(false); } System.out.println(choixAffichage); } // Affichage du bloc Attaque boolean bolRegionAttaque = false; public boolean isBolRegionAttaque() { return bolRegionAttaque; } public void setBolRegionAttaque(boolean bolRegionAttaque) { this.bolRegionAttaque = bolRegionAttaque; } // Affichage du bloc Defense boolean bolRegionDefense = true; public boolean isBolRegionDefense() { return bolRegionDefense; } public void setBolRegionDefense(boolean bolRegionDefense) { this.bolRegionDefense = bolRegionDefense; }(sachant que j'utilise un rendered sur les 2 bloques pour savoir s'ils doivent s'afficher) ?
merci pour votre aide
Partager