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 :

Comment savoir la valeur des checkbox dans un tableau crée dynamiquement dans JSF


Sujet :

JSF Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    ingénieur télécom
    Inscrit en
    Février 2017
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Tunisie

    Informations professionnelles :
    Activité : ingénieur télécom
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2017
    Messages : 54
    Points : 27
    Points
    27
    Par défaut Comment savoir la valeur des checkbox dans un tableau crée dynamiquement dans JSF
    Salut,

    J'ai une problème de vérifier la valeur du checkbox dans un tableau crée dynamiquement dans JSF, l'idée est de récupérer les UI component dans notre cas on parle de UISELECTBOOLEAN, j'ai réussi à générer les identifiant de façon dynamique mais reste de rcupérer la valeur booléenne du checkbox.
    voila le code de L'interface:

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
     
    <?xml version="1.0" encoding="UTF-8"?>
    <ui:composition xmlns="http://www.w3.org/1999/xhtml"
    	xmlns:ui="http://java.sun.com/jsf/facelets"
    	xmlns:f="http://java.sun.com/jsf/core"
    	xmlns:h="http://java.sun.com/jsf/html"
    	xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"
    	template="/WEB-INF/templates/sama.xhtml">
     
    	<ui:define name="content">
    		<h:form id="updateFrm" class="popup">
    			<!-- Displaying the headline -->
    			<h1>Roles</h1>
    size==#{jobCardController.checkedBoxReadOnly.size()}
     
    			<table id="table" border="2" style="border-collapse: collapse;">
    				<tr>
    					<td></td>
    					<c:forEach items="#{jobCardController.getAllScreens()}"
    						var="screen">
     
    						<td>#{screen.screenName}</td>
    					</c:forEach>
    				</tr>
    				<c:forEach items="#{jobCardController.getAllRoles()}" var="role">
     
    					<tr>
     
    						<td>#{role.roleName}</td>
     
    						<c:forEach items="#{jobCardController.getAllScreens()}"
    							var="screen">
    							<td>
    								<div style="margin-left: 10px">
    									<span style="margin-right: 11px;">R</span>
     
    									<h:selectBooleanCheckbox
    										id="R_#{screen.screenId}_#{role.roleId}"
    										value="#{jobCardController.checkedBoxReadOnly[role]}">
    									</h:selectBooleanCheckbox>
    									<br /> <span>RW</span>
    									<h:selectBooleanCheckbox
    										id="RW_#{screen.screenId}_#{role.roleId}"
    										value="#{jobCardController.checkedBoxReadWrite[role]}">
     
    									</h:selectBooleanCheckbox>
    								</div>
    							</td>
    						</c:forEach>
     
    					</tr>
     
    				</c:forEach>
     
    			</table>
    			<br />
    			<br />
    			<br />
     
    			<h:commandButton value="#{label['lbl.button.save']}" id="ss"
    				action="#{jobCardController.savePrivileges()}">
    			</h:commandButton>
     
    		</h:form>
     
    	</ui:define>
    </ui:composition>

    et voila le code que j'utilise pour récupérer la valuer du checkbox(UISelectBooleen)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    	FacesContext context = FacesContext.getCurrentInstance();
    			UIComponent comp = context.getViewRoot().findComponent("updateFrm");
    			for (UIComponent c : comp.getChildren())
    			{
    				if (c instanceof UISelectBoolean)
    				{
     
    					UISelectBoolean checkbox = (UISelectBoolean) c;
    					boolean b = checkbox.isSelected();
    La valeur de isSselected est toujours "false".

    merci d'avance de m'aider.

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    ingénieur télécom
    Inscrit en
    Février 2017
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Tunisie

    Informations professionnelles :
    Activité : ingénieur télécom
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2017
    Messages : 54
    Points : 27
    Points
    27
    Par défaut
    Bonsoir ,

    est ce que l instance de UISelectBooleen faite pout le UIComponent "C" est vrai ?

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    ingénieur télécom
    Inscrit en
    Février 2017
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Tunisie

    Informations professionnelles :
    Activité : ingénieur télécom
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2017
    Messages : 54
    Points : 27
    Points
    27
    Par défaut
    voila l'interface résultant qui peut bien expliquer le probleme

    Nom : Capture.PNG
Affichages : 179
Taille : 11,7 Ko

  4. #4
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juillet 2015
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juillet 2015
    Messages : 62
    Points : 82
    Points
    82
    Par défaut
    Bonsoir RabehBoubakri

    Je sais pas si ton problème est toujours d'actualité mais si c'est la cas pour moi tu n'aborde pas le problème de la bonne façon.
    Essaye de beaucoup plus utiliser les classes de modèle pour stocker tes informations :

    Pour ma part j'essayerai de faire un bean qui contiendrait un bean de profil (admin, director, ..), un d'accès (aircrafts, ...) et deux attributs booléens pour enregistrer l'info sur le READ et le WRITE.
    Dans ton contrôleur tu instancie autant de fois de bean que tu as de couple profil / accès.

    Puis au final tu binderais dans ta page les valeurs booléennes à tes checkbox.

    Je sais pas si je suis très clair mais c'est pas évident à expliquer au vu de la complexité de ta page.
    Si tu as toujours le pb j'essayerai de te faire un exemple ce weekend

Discussions similaires

  1. [AC-2010] Comment modifier le libellé des légendes sur un tableau croisé dynamique
    Par Jean-Michel69 dans le forum Access
    Réponses: 3
    Dernier message: 12/06/2016, 15h34
  2. Réponses: 4
    Dernier message: 27/02/2015, 21h23
  3. comment recuperer les valeur des checkbox cochées
    Par nawak.seb dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/10/2008, 16h49
  4. Réponses: 2
    Dernier message: 11/12/2006, 12h38
  5. Réponses: 1
    Dernier message: 17/05/2006, 16h32

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