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 :

Problème de rafraîchissement avec RichFaces


Sujet :

JSF Java

  1. #1
    Membre confirmé Avatar de maVariable
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 164
    Par défaut Problème de rafraîchissement avec RichFaces
    hello,

    Je me tourne à nouveau vers vous parceque j'ai vraiment un truc qui cloche :

    JSF 1.2
    RichFaces

    je tente désepérement de paramétrer mon .jsp qui affiche un nombre qui s'incrémente tout seul, grace au tag "poll".

    Résultat : impossible de mettre à jour uniquement ma variable. Selon les variantes que j'essaye de faire, soit il met rien à jour, soir il me met tout à jour (enfin presque, disonsq qu'il passe x fois par les converters mis en place pour des zone de liste, donc rien à voir).

    Ou est ce que je fais quelque chose de mal ?

    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
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
     
    <%@ page contentType="text/html"%>
     
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="html"%>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="core"%>
    <%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
    <%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
     
    <core:view>
    	<a4j:region id="r1">
    		<html:form id="r453">
    			<a4j:poll id="polling" interval="5000" reRender="nbInstances" enabled="true">
    		</html:form>
    	</a4j:region>
    	<html:form id="omjfg">
    		<div>
    			<html:outputText id="nbInstances" value="#{PSObjectManager.nbrInstanceOfObject}" /> 
    		</div>
    		<div>
    			<html:commandButton id="bnCreatePage" 
    								value="Create a new page" 
    								action="#{PageManager.createPage}" 
    								rendered="#{not PageManager.editVisible}" /> 
    			<html:commandButton id="bnAddPage" 
    								value="Add the page" 
    								action="#{PageManager.addPage}"
    								rendered="#{PageManager.editVisible}" /> 
    			<html:commandButton id="bnCancel" 
    								value="Cancel" 
    								action="#{PageManager.cancelAction}"
    								rendered="#{PageManager.editVisible}" /> 
    			<html:panelGrid id="panGrid" 
    							columns="2" 
    							cellpadding="3" 
    							width="50%" 
    							rules="all"
    							frame="box">
    				<html:outputText 	id="outNewName" 
    									value="Name"
    									rendered="#{PageManager.editVisible}" />
    				<html:inputText 	id="inNewName" 
    									value="#{PageManager.model.name}"
    									rendered="#{PageManager.editVisible}" />
    				<html:outputText 	id="outNewDescription" 
    									value="Description"
    									rendered="#{PageManager.editVisible}" />
    				<html:inputText 	id="inNewDescription"
    									value="#{PageManager.model.description}"
    									rendered="#{PageManager.editVisible}" />
    				<html:outputText 	id="outNewSelectExecution"
    									value="Stored Procedure for the execution action"
    									rendered="#{PageManager.editVisible}" />
    				<html:selectOneMenu id="inNewSelectExecution"
    									value="#{PageManager.model.execute}"
    									converter="StoredProcedureConverter"
    									rendered="#{PageManager.editVisible}">
    									<core:selectItems value="#{PageManager.choix}" />
    				</html:selectOneMenu>
    				<html:outputText 	id="outNewSelectRepost"
    									value="Stored Procedure for the repost action"
    									rendered="#{PageManager.editVisible}" />
    				<html:selectOneMenu id="inNewSelectRepost"
    									value="#{PageManager.model.repost}"
    									converter="StoredProcedureConverter"
    									rendered="#{PageManager.editVisible}">
    									<core:selectItems value="#{PageManager.choix}" />
    				</html:selectOneMenu>
    			</html:panelGrid> 
    			<br>
    			<html:commandButton id="bnDelete" value="Delete selected pages"
    								onclick="if (!confirm('Are you sure you want to delete this/these record(s)?')) return false"
    								action="#{PageManager.removeSelectedPages}" /> <br>
    			<html:commandButton id="bnUpdate"
    								value="Update modification in database"
    								onclick="if (!confirm('Are you sure you want to update these records?')) return false"
    								action="#{PageManager.updateDB}" /> <br>
    			<html:commandButton id="bnRefresh" value="Refresh datas from database"
    								onclick="if (!confirm('Are you sure you want to refresh datas? (all changes will be lost)')) return false"
    								action="#{PageManager.refreshFromDB}" /> <br>
    			<rich:dataTable 	id="tableRF"
    								onRowMouseOver="this.style.backgroundColor='#F1F1F1'"
    								onRowMouseOut="this.style.backgroundColor='#FFFFFF'"
    								binding="#{PageManager.view.dataTable}"
    								value="#{PageManager.pageList}" var="onePage" border="1" width="100%">
    				<html:column>
    					<html:selectBooleanCheckbox id="chbxSelect"
    												binding="#{PageManager.view.globalCheckboxSelection}" />
    				</html:column>
    				<html:column>
    					<core:facet name="header">
    						<core:verbatim>Name</core:verbatim>
    					</core:facet>
    					<html:inputText value="#{onePage.name}" />
    				</html:column>
    				<html:column>
    					<core:facet name="header">
    						<core:verbatim>Description</core:verbatim>
    					</core:facet>
    					<html:inputText value="#{onePage.description}" />
    				</html:column>
    				<html:column>
    					<core:facet name="header">
    						<core:verbatim>Stored Procedure for the execution action</core:verbatim>
    					</core:facet>
    					<html:selectOneMenu id="selectExecute" value="#{onePage.execute}"
    						converter="StoredProcedureConverter">
    						<core:selectItems value="#{PageManager.choix}" />
    					</html:selectOneMenu>
    				</html:column>
    				<html:column>
    					<core:facet name="header">
    						<core:verbatim>Stored Procedure for the repost action</core:verbatim>
    					</core:facet>
    					<html:selectOneMenu id="selectReposting" value="#{onePage.repost}"
    						converter="StoredProcedureConverter">
    						<core:selectItems value="#{PageManager.choix}" />
    					</html:selectOneMenu>
    				</html:column>
    			</rich:dataTable> <br>
    		</div>
    	</html:form>
    </core:view>
    //nb : j'ai essayé avec ajaxSingle="true"/"false", ou encore avec limitToList="true"/"false", mais rien n'a l'air de vraiment marcher ...

    merci d'avance pour votre aide

  2. #2
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Bonjour,
    Et si tu passes l'ID complet au composant poll ?

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    <a4j:poll id="polling" interval="5000" reRender="omjfg:nbInstances" enabled="true">

    sinon, penses à ajouter les balises html et body à ta page.

    Si ça marche pas, ajoutes un composant messages (html) à ta page et refais le test.

  3. #3
    Membre confirmé Avatar de maVariable
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 164
    Par défaut
    bonjour,

    merci pour ta réponse
    j'ai essayé de mettre l'id du form comme tu tu me l'as conseillé, mais ca ne change rien. J'ai rajouté les balises aussi.
    j'ai essayé avec le tag h:messages (avec différents paramètres), mais j'avoue ne pas avoir très bien compris son utilité, vu que je n'ai pas d'erreur "concrète".

    En réalité, le poll marche pour 'nbInstances', mais seulement lorsque je ne place pas le la propriété 'limitToList' à "true", ce qui est finalement assez étrange, vu que c'est l'inverse que ca devrai faire, non ?

    limitToList :
    If "true", updates on client side ONLY elements from this 'reRender' property. If "false" (default) updates all rendered by ajax region components.

    J'ai essayé de mettre 'nbInstances' dans un form tout seul, et de d'indiquer uniquement le-dit form dans la propriété 'reRender'. Même résultat étrange : avec 'limitToList'="true" rien de se met à jour; Avec 'limitToList'="false", tout les attributs qui ont rendered="true|false" se mettent à jour, donc tout mes converter spécialisés se reconstruise

    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
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    <%@ page contentType="text/html"%>
    
    <%@ 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"%>
    <%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
    <html>
    <body>
    <f:view>
    	<a4j:region id="r1">
    		<h:form id="f1">
    			<a4j:poll id="polling" interval="5000" reRender="f2"/>
    		</h:form>
    	</a4j:region>
    	<h:form id="f2">
    		<h:inputText id="nbInstances" value="#{PageManager.nbrInstanceOfObject}" rendered="true"/>
    		<h:messages errorStyle="color: red" showDetail="true" showSummary="true" layout="list"/>   
    	</h:form>	<h:form id="f3">
    		<div>
    		
    			<h:commandButton id="bnCreatePage" 
    								value="Create a new page" 
    								action="#{PageManager.createPage}" 
    								rendered="#{not PageManager.editVisible}" /> 
    			<h:commandButton id="bnAddPage" 
    								value="Add the page" 
    								action="#{PageManager.addPage}"
    								rendered="#{PageManager.editVisible}" /> 
    			<h:commandButton id="bnCancel" 
    								value="Cancel" 
    								action="#{PageManager.cancelAction}"
    								rendered="#{PageManager.editVisible}" /> 
    			<h:panelGrid id="panGrid" 
    							columns="2" 
    							cellpadding="3" 
    							width="50%" 
    							rules="all"
    							frame="box">
    				<h:outputText 	id="outNewName" 
    									value="Name"
    									rendered="#{PageManager.editVisible}" />
    				<h:inputText 	id="inNewName" 
    									value="#{PageManager.model.name}"
    									rendered="#{PageManager.editVisible}" />
    				<h:outputText 	id="outNewDescription" 
    									value="Description"
    									rendered="#{PageManager.editVisible}" />
    				<h:inputText 	id="inNewDescription"
    									value="#{PageManager.model.description}"
    									rendered="#{PageManager.editVisible}" />
    				<h:outputText 	id="outNewSelectExecution"
    									value="Stored Procedure for the execution action"
    									rendered="#{PageManager.editVisible}" />
    				<h:selectOneMenu id="inNewSelectExecution"
    									value="#{PageManager.model.execute}"
    									converter="StoredProcedureConverter"
    									rendered="#{PageManager.editVisible}">
    									<f:selectItems value="#{PageManager.choix}" />
    				</h:selectOneMenu>
    				<h:outputText 	id="outNewSelectRepost"
    									value="Stored Procedure for the repost action"
    									rendered="#{PageManager.editVisible}" />
    				<h:selectOneMenu id="inNewSelectRepost"
    									value="#{PageManager.model.repost}"
    									converter="StoredProcedureConverter"
    									rendered="#{PageManager.editVisible}">
    									<f:selectItems value="#{PageManager.choix}" />
    				</h:selectOneMenu>
    			</h:panelGrid> 
    			<br>
    			<h:commandButton id="bnDelete" value="Delete selected pages"
    								onclick="if (!confirm('Are you sure you want to delete this/these record(s)?')) return false"
    								action="#{PageManager.removeSelectedPages}" /> <br>
    			<h:commandButton id="bnUpdate"
    								value="Update modification in database"
    								onclick="if (!confirm('Are you sure you want to update these records?')) return false"
    								action="#{PageManager.updateDB}" /> <br>
    			<h:commandButton id="bnRefresh" value="Refresh datas from database"
    								onclick="if (!confirm('Are you sure you want to refresh datas? (all changes will be lost)')) return false"
    								action="#{PageManager.refreshFromDB}" /> <br>
    			<rich:dataTable 	id="tableRF"
    								onRowMouseOver="this.style.backgroundColor='#F1F1F1'"
    								onRowMouseOut="this.style.backgroundColor='#FFFFFF'"
    								binding="#{PageManager.view.dataTable}"
    								value="#{PageManager.pageList}" var="onePage" border="1" width="100%">
    				<h:column>
    					<h:selectBooleanCheckbox id="chbxSelect"
    												binding="#{PageManager.view.globalCheckboxSelection}" />
    				</h:column>
    				<h:column>
    					<f:facet name="header">
    						<f:verbatim>Name</f:verbatim>
    					</f:facet>
    					<h:inputText value="#{onePage.name}" />
    				</h:column>
    				<h:column>
    					<f:facet name="header">
    						<f:verbatim>Description</f:verbatim>
    					</f:facet>
    					<h:inputText value="#{onePage.description}" />
    				</h:column>
    				<h:column>
    					<f:facet name="header">
    						<f:verbatim>Stored Procedure for the execution action</f:verbatim>
    					</f:facet>
    					<h:selectOneMenu id="selectExecute" value="#{onePage.execute}"
    						converter="StoredProcedureConverter">
    						<f:selectItems value="#{PageManager.choix}" />
    					</h:selectOneMenu>
    				</h:column>
    				<h:column>
    					<f:facet name="header">
    						<f:verbatim>Stored Procedure for the repost action</f:verbatim>
    					</f:facet>
    					<h:selectOneMenu id="selectReposting" value="#{onePage.repost}"
    						converter="StoredProcedureConverter">
    						<f:selectItems value="#{PageManager.choix}" />
    					</h:selectOneMenu>
    				</h:column>
    			</rich:dataTable> <br>
    		</div>
    	</h:form>
    </f:view>
    </body>
    </html>

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 36
    Par défaut
    Je dis ca en passant vite fais: ce matin j'ai eu un problème avec le composant a4j:poll. En gros, si je lui rajoute un id, il ne me fais plus de requêtes périodique, et si je vire l'id, il fais mes requêtes...

    Je ne sais pas pourquoi, je vais chercher, mais ça réponds peut être a ton problème...

  5. #5
    Membre confirmé Avatar de maVariable
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 164
    Par défaut
    merci, je vais reagarder de ce coté la, je vous tiens au courant

  6. #6
    Membre confirmé Avatar de maVariable
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 164
    Par défaut
    ben non, ca ne change rien chez moi ... il continu à réagir dans le sens inverse (à peu de chose près) de ce qu'il faudrait, avec ou sans id..
    merci qd mm

    tu as trouvé la raison de ton truc bizare toi ?

    nb : je n'ai pas abandonné, donc si quelqu'un à encore une nouvelle idée

Discussions similaires

  1. [Glassfish 3.1.1] Problème Injection EJB avec Richfaces-3.3.3
    Par deamn dans le forum Glassfish et Payara
    Réponses: 5
    Dernier message: 16/08/2011, 14h40
  2. Réponses: 1
    Dernier message: 12/06/2008, 11h43
  3. Problème avec RichFaces
    Par Jexou dans le forum JSF
    Réponses: 8
    Dernier message: 11/04/2008, 14h14
  4. problème avec richFaces sous tomcat6
    Par info_plus dans le forum JSF
    Réponses: 4
    Dernier message: 03/04/2008, 17h08
  5. Réponses: 2
    Dernier message: 17/09/2007, 15h08

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