problème rerender selectbooleancheckbox
Salut,
Voilà j'ai mis un checkbox à chaque noeud d'un richfaces tree, j'ai aussi rajouté un valuechange listener pour récupérer la case cochée ou décochée.
J'arrive à récupérer la valeur exacte quand je coche mais lors du rerender de la page ça m'affiche l'ancienne valeur.
De plus lors du chargement de la page les cases sont toujours décochées quelquesoit le value :
Voici mon code jsp:
Code:
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
|
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<f:view>
<a4j:form id="formulaire">
<h:graphicImage value="../Images/RondBleu.gif" style="border:0;" />
<h:outputText value="#{EBEssai.arbre.data}" />
<rich:tree id="arbre" adviseNodeOpened="true" switchType="client" value="#{EBEssai.arbre}" var="node" >
<rich:treeNode ajaxSingle="false" >
<h:selectBooleanCheckbox id="noeud" value="true" valueChangeListener="#{EBEssai.handleValueChanged}" immediate="true" >
<a4j:support event="onclick" reRender="formulaire"/>
</h:selectBooleanCheckbox>
<h:outputText value="#{node}" />
</rich:treeNode>
</rich:tree>
</a4j:form>
</f:view>
</body>
</html> |
voici mon handler du checkbox:
Code:
1 2 3 4 5 6 7
|
public void handleValueChanged(ValueChangeEvent event) {
System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ new value "+event.getNewValue()+" id "+event.getComponent().getId());
HtmlSelectBooleanCheckbox caseàcocher =(HtmlSelectBooleanCheckbox) event.getComponent();
caseàcocher.setSelected(Boolean.valueOf(event.getNewValue().toString()));
FacesContext.getCurrentInstance().renderResponse();
} |
ça me gene beaucoup que l'affichage ne suit pas les changement des cases
merci de m'aider