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] Champ de texte autocomplété


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 64
    Par défaut [RichFaces] Champ de texte autocomplété
    Bonjour à tous;
    je veux faire dans mon formulaire un champ autocomplete mais j'arrive pas:

    voici mon formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     <h:form>
    	    <h:inputText id="affectation" value="#{AutoCompleteClientBean.selectedClient}"/>
    		<rich:suggestionbox for="affectation" var="result"         suggestionAction="#{AutoCompleteClientBean.listeDesign}" >
    		  <h:column>
    		    <h:outputText value="#{result.selectedClient.trim()}" />
    		  </h:column>
    		</rich:suggestionbox>
        </h:form>
    le code de ma Class Bean
    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
    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.List;
     
    public class AutoCompleteClientBean extends AbstractPageBean {
    	private static final long serialVersionUID = 1L;
    	private String selectedClient;
    	private List<String> listeDesign = new ArrayList<String>();
     
    	public AutoCompleteClientBean()
    	{
    		listeDesign.add("Ahmed");
    		listeDesign.add("Sidi");
    		listeDesign.add("Moussa");
    		listeDesign.add("Abdallahi");
    	}
       /* public List<String> listAutoComplete(String query) {  
            List<String> results = new ArrayList<String>();  
            for (int i = 0; i < 10; i++) {  
                results.add(query + i);  
            }  
            return results;  
        } */
     
        public String getSelectedClient() {
            return selectedClient;
        }
     
        public void setSelectedClient(String selectedClient) {
            this.selectedClient = selectedClient;
        }
    	public List<String> getListeDesign() {
    		return listeDesign;
    	}
    	public void setListeDesign(List<String> listeDesign) {
    		this.listeDesign = listeDesign;
    	}
     
    }
    A l'exécution voici l'erreur afficher:
    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
    09:40:15,032 ERROR BaseXMLFilter:227 - Exception in the filter chain
    javax.servlet.ServletException: /materiels/automobiles/gestionautomobiles.jspx @70,120 suggestionAction="#{AutoCompleteClientBean.listeDesign}": Cannot convert [Ahmed, Sidi, Moussa, Abdallahi] of type class java.util.ArrayList to class javax.el.MethodExpression
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:321)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    	at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    	at winservices.dirmat.sidmat.web.filtre.ContextFilter.doFilter(ContextFilter.java:99)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
    	at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
    	at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
    	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    	at com.planetj.servlet.filter.compression.CompressingFilter.doFilter(CompressingFilter.java:271)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
    	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    Caused by: javax.el.ELException: /materiels/automobiles/gestionautomobiles.jspx @70,120 suggestionAction="#{AutoCompleteClientBean.listeDesign}": Cannot convert [Ahmed, Sidi, Moussa, Abdallahi] of type class java.util.ArrayList to class javax.el.MethodExpression
    	at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:74)
    	at org.richfaces.component.UISuggestionBox.setupValue(UISuggestionBox.java:492)
    	at org.richfaces.component.UISuggestionBox.broadcast(UISuggestionBox.java:424)
    	at javax.faces.component.UIData.broadcast(UIData.java:912)
    	at org.richfaces.component.UISuggestionBox.broadcast(UISuggestionBox.java:421)
    	at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:329)
    	at org.ajax4jsf.component.AjaxViewRoot.broadcastAjaxEvents(AjaxViewRoot.java:348)
    	at org.ajax4jsf.application.AjaxViewHandler.processAjaxEvents(AjaxViewHandler.java:216)
    	at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:169)
    	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:117)
    	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
    	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:135)
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:309)
    	... 31 more
    Je suis vraiment bloqué, Si quelqu'un pourrait m'aider
    Merci d'avance

    J'utilise Richfaces 3.3.3.Final

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 100
    Par défaut
    Bonjour

    je ne connais pas trop le composant richeFaces, mais tu dois faire un truc de ce genre:

    voir l exemple suivant:
    http://livedemo.exadel.com/richfaces...age&cid=847818

    - dans la page jsp tu appelle une methode qui prend en entrée ce que tu viens de saisir dans ton champ:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     suggestionAction="#{AutoCompleteClientBean.listAutoComplete}"
    dans le bean, la méthode qui fait la recherche et te retourne une liste à afficher,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
       public List<String> listAutoComplete(Object suggest) {
            String pref = (String)suggest;
            ArrayList<String> result = new ArrayList<String>();
     
    		// recherche tes données:
    		for(String s : listeDesign ) {
    			if(s.startsWith(pref) ){
    			result.add(s) ;
    			}
    		}
     
            return result;
        }

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 64
    Par défaut
    Merci beaucoup,

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

Discussions similaires

  1. action reaction avec champs type="text"
    Par ericmart dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 13/04/2005, 17h00
  2. Réponses: 3
    Dernier message: 25/02/2005, 20h46
  3. Récupérer le texte d'un champ de texte
    Par theberliner dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 04/12/2004, 10h08
  4. Problème de contrôle de champ input texte
    Par NATHW dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 08/10/2004, 22h48
  5. [access] champs type text sur un pc blob sur un autre
    Par Harry dans le forum Bases de données
    Réponses: 3
    Dernier message: 27/07/2004, 09h30

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