bonjour à tous,

J'ai un ptit problème un peu énervant. Je n'ai pas trouvé de problème similaire, et la "componentSuite" de IceFaces ne m'a pas éclairé non plus

J'ai une IHM d'identification avec une boîte de choix avec des utilisateurs, une zone de saisie pour le mot de passe. Et une case à cocher pour indiquer si on veut rentrer dans une IHM d'administration ou pas.

côté SessionBean, j'ai un :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
@Stateful
@Name("userManager")
public class UtilisateurManagerBean implements UtilisateurManager{	
	private Utilisateur user;
	private List<Utilisateur> listUsers;
	private boolean demarrerEnModeAdmin;
avec getters et setters public dans l'interface et la classe.

La liste des utilisateurs est bien initialisée, et la boîte de choix est bien remplie.

Mais la case à cocher semble sans effet.

J'ai essayé plusieurs choses :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
<ice:panelGroup 
       rendered="#{userManager.voirDemarrerEnModeAdmin}"> 
   <ice:outputText>Demarrer en mode admin </ice:outputText>
   <ice:selectBooleanCheckbox
           id="dema" 
	   value="#{userManager.demarrerEnModeAdmin}"/>
    </ice:panelGroup>
... en espérant que demarrerEnModeAdmin varie automatiquement avec les changements de valeur de la case à cocher. Mais non

J'ai essayé en rajoutant

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
partialsubmit="true"
immediate="true"
mais pas mieux. Même moins bien car la page est reconstruite, et quand je coche la case à cocher, le mot de passe saisi est effacé.

alors, j'ai essayé que le changement de valeur de la case à cocher appelle une méthode du sessionBean

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
<ice:panelGroup 
      rendered="#{userManager.voirDemarrerEnModeAdmin}"> 
   <ice:outputText>Demarrer en mode admin </ice:outputText>
   <ice:selectBooleanCheckbox 
         id="dema" 
         valueChangeListener="#{userManager.changeMode}"
	 value="#{userManager.demarrerEnModeAdmin}"/>
</ice:panelGroup>
côté 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
15
16
public void changeMode(ValueChangeEvent event){
 
		String strmode = (String) event.getNewValue() ;
		System.out.println("DEBUT : changeMode");
		System.out.println("changeMode : " + strmode);
 
		demarrerEnModeAdmin = !demarrerEnModeAdmin;
 
		if(demarrerEnModeAdmin){
			System.out.println("demarrerEnModeAdmin = true");
		}
		else{
			System.out.println("demarrerEnModeAdmin = false");
		}
		System.out.println("FIN : changeMode");
	}
Et malgré ce code, je n'ai pas du tout de trace sur la console serveur.


Une bonne âme saurait-elle m'éclairer ?

merci d'avance