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 :

[RichFaces]Probleme lors de l'utilisation du composant pickList de RichFaces


Sujet :

JSF Java

  1. #1
    Membre régulier Avatar de solawe
    Inscrit en
    Juillet 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juillet 2006
    Messages : 368
    Points : 97
    Points
    97
    Par défaut [RichFaces]Probleme lors de l'utilisation du composant pickList de RichFaces
    Bonjour,

    j'ai ajouté a ma page web le composant pickList de RichFaces de la façon suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <rich:pickList value="#{accountProfileBean.listBundlesChosed}">
    				<f:selectItems value="#{accountProfileBean.listBundles}" />
    			</rich:pickList>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for(int i=0;i<listBundles.size();i++){
    accountProfileBean.getListBundles().add(new SelectItem(listBundles.get(i).toString(),listBundles.get(i).toString()));
    				}
    mais quand j'execute ma page sous tomcat j'obtiens l'erreur suivante :

    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
    SEVERE: Servlet.service() for servlet Faces Servlet threw exception
    java.util.NoSuchElementException
    	at javax.faces.component.SelectItemsIterator.next(SelectItemsIterator.java:117)
    	at javax.faces.component.SelectItemsIterator.next(SelectItemsIterator.java:144)
    	at javax.faces.component.SelectItemsIterator.next(SelectItemsIterator.java:49)
    	at javax.faces.component.UISelectMany.matchValue(UISelectMany.java:485)
    	at javax.faces.component.UISelectMany.validateValue(UISelectMany.java:454)
    	at javax.faces.component.UIInput.validate(UIInput.java:867)
    	at javax.faces.component.UIInput.executeValidate(UIInput.java:1065)
    	at javax.faces.component.UIInput.processValidators(UIInput.java:666)
    	at javax.faces.component.UIForm.processValidators(UIForm.java:229)
    	at org.ajax4jsf.component.AjaxViewRoot$3.invokeContextCallback(AjaxViewRoot.java:434)
    	at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:234)
    	at org.ajax4jsf.component.AjaxViewRoot.processValidators(AjaxViewRoot.java:450)
    	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:244)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:147)
    	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:276)
    	at org.ajax4jsf.Filter.doFilter(Filter.java:175)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
    	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    	at java.lang.Thread.run(Unknown Source)
    N.B : j'utilise richFaces version : 3.2.0

    merci beaucoup d'avance

  2. #2
    Expert éminent
    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
    Points : 7 679
    Points
    7 679
    Par défaut
    Bonsoir,
    Ajoutes dans ton managed bean, juste après la boucle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    accountProfileBean.setListBundlesChosed(listBundles.get(0));

  3. #3
    Membre régulier Avatar de solawe
    Inscrit en
    Juillet 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juillet 2006
    Messages : 368
    Points : 97
    Points
    97
    Par défaut
    Bonjour,

    merci pour la réponse,je voudrais te demander si tu peux m'expliquer le role de la ligne que tu m'as proposé car la methode "setListBundlesChosed" de mon "accountProfileBean" prend en parametre un ArrayList ,

    j'ai essayé de faire ça en place de cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    accountProfileBean.getListBundlesChosed().add(listBundles.get(0));
    mais ça marche toujours pas.

    merci pour ton retour.

  4. #4
    Expert éminent
    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
    Points : 7 679
    Points
    7 679
    Par défaut
    Bonjour,
    D'après l'erreur que tu as :java.util.NoSuchElementException, je présumes que le composant pickList ne trouve pas un élément dans la liste des éléments ... J'ai donc présumé qu'il trouve pas l'élément sélectionné (le value, #{accountProfileBean.listBundlesChosed}) dans #{accountProfileBean.listBundles} ....

    Peux tu montrer le code d'accountProfileBean ?

  5. #5
    Membre régulier Avatar de solawe
    Inscrit en
    Juillet 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juillet 2006
    Messages : 368
    Points : 97
    Points
    97
    Par défaut
    le code ou je remplis la liste est :
    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
    	public String createAccountProfile(){
    		System.out.println("**************entrer au createAccountProfile");
    		FacesContext facesContext = FacesContext.getCurrentInstance();
    		ApplicationFactory appFactory = (ApplicationFactory) FactoryFinder.getFactory(FactoryFinder.APPLICATION_FACTORY);
    		Application app = appFactory.getApplication();
    		AccountProfileBean accountProfileBean = (AccountProfileBean) app.createValueBinding("#{accountProfileBean}").getValue(facesContext);
     
    	try {
    			 goMonitor = new GOMonitorService().getGOMonitorPort();
    						 goMonitor.fillBundleType(null);
    			 ArrayList listBundles=new ArrayList();
    			 //Récupérer la liste des bundles
    			 listBundles=(ArrayList)goMonitor.getListBundles();
    				for(int i=0;i<listBundles.size();i++){
    					accountProfileBean.getListBundles().add(new SelectItem(listBundles.get(i).toString(),listBundles.get(i).toString()));
    				}
     
    		} catch (Exception ex) {
    			ex.printStackTrace();
    		}
     
    		app.createValueBinding("#{requestScope.accountProfileBean}").setValue(facesContext, accountProfileBean);
    		return "generalInformations";
    	}
    je voulais indiquer que je récupere bien la liste et la pickList s'affiche remplie,mais le probleme apparait quand j'ajoute un elementde la liste de gauche vers la liste de droite du pickList sur la page web et j'execute mon action.l'action que j'execute ne fais rien sauf qu'un println d'un "bonjou" pour le test.

    j'espere que je suis arrivée a expliquer mon probleme

  6. #6
    Membre régulier Avatar de solawe
    Inscrit en
    Juillet 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juillet 2006
    Messages : 368
    Points : 97
    Points
    97
    Par défaut
    aucune idée?!!

Discussions similaires

  1. [AC-2000] Probleme lors de l'utilisation d'un call
    Par zandeparis dans le forum VBA Access
    Réponses: 5
    Dernier message: 04/11/2009, 21h59
  2. Réponses: 1
    Dernier message: 17/06/2009, 15h42
  3. Probleme lors de l'installation des composants JEDI 3.36
    Par oneigloo dans le forum Composants VCL
    Réponses: 0
    Dernier message: 07/04/2009, 15h03
  4. Réponses: 9
    Dernier message: 18/08/2008, 17h19
  5. Probleme lors de l'utilisation statspack
    Par magboom dans le forum Administration
    Réponses: 6
    Dernier message: 14/08/2007, 17h14

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