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 :

[Débutant] Probléme avec la Picklist de Richfaces


Sujet :

JSF Java

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 38
    Points : 15
    Points
    15
    Par défaut [Débutant] Probléme avec la Picklist de Richfaces
    Bon soir,

    J'ai réussi à faire alimenter et lire les Items de ma Pickliste en utilisant un bean de scop session, mais lorsque je refais la même chose avec un bean de scop request ça bloque.

    vu que dans ma page jsp je veux utilisé un bean de type request, je ne c pas quoi faire.

    Merci d'avance pour votre aide

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    un bean de type request sera recréer à chaque requete, pour une nouvelle requete ajax tu va perdre les données c'est normal comme comportement, si tu veux utilise un bean en scope request, tu dois utiliser keepAlive pour qu'il reste en vie le temps entre plusieurs requêtes ajax

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a4j:keepAlive beanName="beanName"/>

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 38
    Points : 15
    Points
    15
    Par défaut
    Merci pour l'explication.
    Même avec le <a4j:keepAlive\> j'ai encore un mesage d'erreur.

    Voila ma JSP :
    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
    <%@ 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>
     
    	<html:form>
     
    		<html:outputText value="Numéro de compte : " />
    		<html:inputText value="#{controler.clt.cmptAtw}">
    			<core:validateLength minimum="14" maximum="14" />
    		</html:inputText>
    		<br />
    		<html:outputText value="Date : " />
    		<rich:calendar value="#{controler.clt.date}" locale="fr/FR"
    			datePattern="d/M/yy" />
    		<br />
    		<html:outputText value="conseiller : " />
    		<html:inputText value="#{controler.clt.conseiller}" />
    		<br />
    		<html:outputText value="cag : " />
    		<html:inputText value="#{controler.clt.cag}" />
    		<br />
    		<html:outputText value="nom I : " />
    		<html:inputText value="#{controler.clt.nom1}" />
    		<br />
    		<html:outputText value="nom II : " />
    		<html:inputText value="#{controler.clt.nom2}" />
    		<br />
    		<html:outputText value="Adresse : " />
    		<html:inputText value="#{controler.clt.adresse}" />
    		<br />
    		<html:outputText value="Ville : " />
    		<html:inputText value="#{controler.clt.ville}" />
    		<br />
    		<html:outputText value="Province : " />
    		<html:inputText value="#{controler.clt.province}" />
    		<br />
    		<html:outputText value="CP : " />
    		<html:inputText value="#{controler.clt.cp}" />
    		<br />
    		<html:outputText value="Ville II: " />
    		<html:inputText value="#{controler.clt.villeMa}" />
    		<br />
    		<html:outputText value="CIN : " />
    		<html:inputText value="#{controler.clt.cin}" />
    		<br />
    		<html:outputText value="DNI : " />
    		<html:inputText value="#{controler.clt.dni}" />
    		<br />
    		<html:outputText value="Tel : " />
    		<html:inputText value="#{controler.clt.tel}" />
    		<br />
    		<html:outputText value="Observation : " />
    		<html:inputText value="#{controler.clt.observation}" />
    		<br />
    		<br />
    		<a4j:keepAlive beanName="controler"/>
    		<rich:pickList value="#{controler.prd.prditem}"
    			converter="#{controler.prd.converter}">
    			<core:selectItems value="#{controler.prd.prditem}" />
    		</rich:pickList>
     
    		<br />
    		<html:commandButton id="bout" action="#{controler.save1}" value="Save" />
     
    	</html:form>
    </core:view>
    Et voici l'erreur :
    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
    01-oct.-2009 14:33:24 javax.faces.webapp._ErrorPageWriter handleThrowable
    GRAVE: An exception occurred
    javax.faces.FacesException: Exception while validating component with path : {Component-Path : [Class: org.ajax4jsf.component.AjaxViewRoot,ViewId: /addClient.jsp][Class: javax.faces.component.html.HtmlForm,Id: j_id_jsp_807635569_1][Class: org.richfaces.component.html.HtmlPickList,Id: j_id_jsp_807635569_32]}
    	at javax.faces.component.UIInput.validate(UIInput.java:434)
    	at javax.faces.component.UISelectMany.validate(UISelectMany.java:401)
    	at javax.faces.component.UIInput.processValidators(UIInput.java:199)
    	at javax.faces.component.UIForm.processValidators(UIForm.java:82)
    	at org.ajax4jsf.component.AjaxViewRoot$3.invokeContextCallback(AjaxViewRoot.java:439)
    	at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:238)
    	at org.ajax4jsf.component.AjaxViewRoot.processValidators(AjaxViewRoot.java:455)
    	at org.apache.myfaces.lifecycle.ProcessValidationsExecutor.execute(ProcessValidationsExecutor.java:32)
    	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
    	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:151)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
    	at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
    	at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:368)
    	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
    	at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.NullPointerException
    	at javax.faces.component._SelectItemsUtil.matchValue(_SelectItemsUtil.java:71)
    	at javax.faces.component.UISelectMany.validateValue(UISelectMany.java:380)
    	at javax.faces.component.UIInput.validate(UIInput.java:418)
    	... 28 more
    Merci votre aide, cela fait un long moment que je suis bloqué.

  4. #4
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    tu as un NullPointerException, la suite de la trace te donnera l'endroit exact,
    je dirais probablement dans l'expression
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {controler.prd.prditem}
    Soit prd ou prditem qui est null.

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 38
    Points : 15
    Points
    15
    Par défaut
    Soit prd ou prditem qui est null.
    Oui c'est pour cette raison que je pense que c peut être dû au fait que le bean est en scop request. Par ce que lorsque j'utilise un bean de scop session cela fonctionne parfaitement.

  6. #6
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 38
    Points : 15
    Points
    15
    Par défaut
    Voila ca marche . En fait il suffisait d'ajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a4j:keepAlive beanName="beanName"/>
    et l'erreur c'est dû à quelque chose d'autre apparemment.
    Merci bk Sniper37

  7. #7
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    mets le le keepAlive avat l'utilisation du bean, tu déclare le keepAlive alors que le bean est déjà crée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Problème avec Dev-Cpp 4.9.9.0
    Par P4Pi dans le forum Dev-C++
    Réponses: 7
    Dernier message: 16/01/2010, 16h48
  2. [Débutant]Problème avec les timers
    Par mickael777 dans le forum MFC
    Réponses: 1
    Dernier message: 11/04/2005, 11h00
  3. [débutant] problème avec le curseur (sablier)
    Par bat dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 01/12/2004, 08h26
  4. [débutant] problème avec un "if"
    Par pingoui dans le forum Langage
    Réponses: 10
    Dernier message: 11/08/2004, 09h46
  5. [débutant] Problèmes avec CRegKey
    Par Pedro dans le forum MFC
    Réponses: 4
    Dernier message: 10/11/2003, 15h28

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