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 :

probleme avec des composants richfaces


Sujet :

JSF Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 42
    Points : 28
    Points
    28
    Par défaut probleme avec des composants richfaces
    salut tout le monde,
    j'ai commencé mes premiers pas avec rich-faces et je rencontre pas mal de problèmes.

    je m'explique: j'utilise eclipse 3.4 ganymede avec jboss web tools 3.0.1 et tomcat 6.

    j'ai crée une page jsf avec des composants richfaces mais le probleme c'est qu'elle génére des erreurs au niveau de l'exécution.

    voici le contenu de ma page user.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
     
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
    <%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
    <%@ taglib prefix="rich" uri="http://richfaces.org/rich"%>
    <%@ taglib prefix="a4j" uri="http://richfaces.org/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>ceci est un titre</title>
    </head>
    <body>
    <f:view>
    <h:form>
    <rich:panel >
    <f:facet name="header">
    Just some users
    </f:facet>
    <rich:dataTable value="#{userBean.users}" var="user">
    <h:column>
    <a4j:commandButton value="Edit"
    oncomplete="#{rich:component('useredit')}.show()"
    reRender="userinfo">
    <f:setPropertyActionListener value="#{user}"
    target="#{userBean.selectedUser}" />
    </a4j:commandButton>
    </h:column>
    <h:column>
    <h:outputText id="name" value="#{user.name}" />
    </h:column>
    <h:column>
    <h:outputText id="email" value="#{user.password}" />
    </h:column>
    </rich:dataTable>
    </rich:panel>
    </h:form>
     
    <rich:modalPanel id="useredit">
    <f:facet name="header"> User </f:facet>
    <h:form>
    <h:panelGrid id="userinfo">
    <h:outputLabel for="nameInput" value="Name:" />
    <h:inputText id="nameInput" value="#{userBean.selectedUser.name}" />
    <h:outputLabel for="emailInput" value="Email:" />
    <h:inputText id="emailInput" value="#{userBean.selectedUser.password}" />
    <h:panelGrid columns="2">
    <a href="#" onclick="#{rich:component('useredit')}.hide();return false">Close </a>
    <a4j:commandLink oncomplete="#{rich:component('useredit')}.hide();return false"> Save </a4j:commandLink>
    </h:panelGrid>
    </h:panelGrid>
    </h:form>
    </rich:modalPanel>
     
    </f:view>
    </body>
    </html>
    voici ce que tomcat affiche lors de l'exception:
    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
     
    exception 
    description Le serveur a rencontré une erreur
    interne () qui l'a empêché de satisfaire la requête.
     
    org.apache.jasper.JasperException: /user.jsp(20,5) 
    The function component cannot be located with the specified prefix
    	org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
    	org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
    	org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148)
    	org.apache.jasper.compiler.Validator$ValidateVisitor$1FVVisitor.visit(Validator.java:1495)
    	org.apache.jasper.compiler.ELNode$Function.accept(ELNode.java:129)
    	org.apache.jasper.compiler.ELNode$Nodes.visit(ELNode.java:200)
    	org.apache.jasper.compiler.ELNode$Visitor.visit(ELNode.java:242)
    	org.apache.jasper.compiler.ELNode$Root.accept(ELNode.java:56)
    	org.apache.jasper.compiler.ELNode$Nodes.visit(ELNode.java:200)
    	org.apache.jasper.compiler.Validator$ValidateVisitor.validateFunctions(Validator.java:1504)
    	org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1141)
    	org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:821)
    	org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1530)
    	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
    	org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
    	org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:840)
    	org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1530)
    	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
    	org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
    	org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:840)
    	org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1530)
    	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
    	org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
    	org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:840)
    	org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1530)
    	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
    	org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
    	org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:840)
    	org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1530)
    	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
    	org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
    	org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:840)
    	org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1530)
    	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
    	org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
    	org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2417)
    	org.apache.jasper.compiler.Node$Root.accept(Node.java:495)
    	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
    	org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1736)
    	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:183)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
    	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:410)
    	com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:473)
    	com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:141)
    	org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
    	org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:189)
    	com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:109)
    	com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    	com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
    	javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
    	org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:147)
    	org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:276)
    	org.ajax4jsf.Filter.doFilter(Filter.java:175)
    des idées sur la cause de l'erreur? merci d'avance pour votre aide

  2. #2
    Membre habitué Avatar de faico
    Inscrit en
    Août 2005
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 242
    Points : 179
    Points
    179
    Par défaut
    Pouvrez vous nous monter la partie qui cause l'erreur de la page user.jsp ?

  3. #3
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 42
    Points : 28
    Points
    28
    Par défaut
    en effet le probleme vient des lignes suivantes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <a4j:commandButton value="Edit"
    oncomplete="#{rich:component('useredit')}.show()"
    reRender="userinfo">
    <f:setPropertyActionListener value="#{user}"
    target="#{userBean.selectedUser}" />
    </a4j:commandButton>
    c'est la fonction javascript
    "#{rich:component('useredit')}.show()"
    qui n'est pas acceptée et tomcat affiche que les #{..} ne sont pas alloués dans ce tag bizarre non??


    pareil pour le modal panel, lui aussi il me génere des erreurs
    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
    <rich:modalPanel id="useredit">
    <f:facet name="header"> User </f:facet>
    <h:form>
    <h:panelGrid id="userinfo">
    <h:outputLabel for="nameInput" value="Name:" />
    <h:inputText id="nameInput" value="#{userBean.selectedUser.name}" />
    <h:outputLabel for="emailInput" value="Email:" />
    <h:inputText id="emailInput" value="#{userBean.selectedUser.password}" />
    <h:panelGrid columns="2">
    <a href="#" onclick="#{rich:component('useredit')}.hide();return false">Close </a>
    <a4j:commandLink oncomplete="#{rich:component('useredit')}.hide();return false"> Save </a4j:commandLink>
    </h:panelGrid>
    </h:panelGrid>
    </h:form>
    </rich:modalPanel>
    en particulier les lignes
    <a href="#" onclick="#{rich:component('useredit')}.hide();return false">Close </a>
    <a4j:commandLink oncomplete="#{rich:component('useredit')}.hide();return false"> Save </a4j:commandLink>
    tomcat affiche le meme message précedent es #{..} ne sont pas alloués dans ce tag


    je me casse la tete depuis des jours pour trouver la solution a ce probleme


    alors je searis tres reconnaissant si quelqun pourrait me filer un coup de main

  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 utilise quelle version de Richfaces?
    Sinon une page simple, avec juste un output ça marche bien?

  5. #5
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 42
    Points : 28
    Points
    28
    Par défaut
    j'utilise la version :
    • 3.2 de richfaces

    • qui vient avec jboss web tools 3.0.1 GA


    • eclipse 3.4 ganymede.


    en fait; les composants richfaces que je soupsonne de me causer des erreurs à savoir :
    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
     
    <rich:modalPanel id="useredit">
    <f:facet name="header"> User </f:facet>
    <h:form>
    <h:panelGrid id="userinfo">
    <h:outputLabel for="nameInput" value="Name:" />
    <h:inputText id="nameInput" value="#{userBean.selectedUser.name}" />
    <h:outputLabel for="emailInput" value="Email:" />
    <h:inputText id="emailInput" value="#{userBean.selectedUser.password}" />
    <h:panelGrid columns="2">
    <a href="#" onclick="#{rich:component('useredit')}.hide();return false">Close </a>
    <a4j:commandLink oncomplete="#{rich:component('useredit')}.hide();return false"> Save </a4j:commandLink>
    </h:panelGrid>
    </h:panelGrid>
    </h:form>
    </rich:modalPanel>
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <a href="#" onclick="#{rich:component('useredit')}.hide();return false">Close </a>
    <a4j:commandLink oncomplete="#{rich:component('useredit')}.hide();return false"> Save </a4j:commandLink>
    marchent tres bien si j'enleve les actions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    oncomplete="#{rich:component('useredit')}.show()"
    reRender="userinfo"
    oncomplete="#{rich:component('useredit')}.hide();return false"
    c'est cette ligne en particulier qui me cause des erreurs

  6. #6
    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
    utilise
    Sinon essaye d'ouvrir la modalPanel avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    javascript:Richfaces.showModalPanel('_panel_id',{left:auto,top:auto})

  7. #7
    Membre habitué Avatar de faico
    Inscrit en
    Août 2005
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 242
    Points : 179
    Points
    179
    Par défaut
    Cette expression #{rich:component('useredit')} me parait incorrecte !

    Est vous sur de cette syntaxe ?

  8. #8
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 42
    Points : 28
    Points
    28
    Par défaut
    Probleme résolu


    Citation Envoyé par faico Voir le message
    Cette expression #{rich:component('useredit')} me parait incorrecte !

    Est vous sur de cette syntaxe ?
    t'as raison faico,

    en effet tomcat leve une exception quand il rencontre cette expression:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    apache.jasper.JasperException: /user.jsp(21,5) 
    The function component cannot be located with the specified prefix
    j'ai remplacé cette expression par cella la:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oncomplete="Richfaces.showModalPanel('useredit')"
    que j'ai lu dans le document richfaces de la signature de sniper73
    et sa marche nikel

    merci beaucoup les gars pour votre aide. vos réposnes sont si
    vites que sa me fait penser qu'on tchatte et non on discute sur un forum

  9. #9
    Membre habitué
    Inscrit en
    Mars 2009
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 154
    Points : 149
    Points
    149
    Par défaut
    Essaye ça à la place :

    <rich:componentControl for="modalPanel" attachTo="link" operation="show" event="onclick"/>

    Tu le met à l'intérieur de ton composant qui doit fermer ton modalPanel et c'est normalement bon.

    Ta méthode devrait tout de même fonctionner correctement. J'essaye de regarder pourquoi ça ne marche pas...
    edit : j'ai pas trouvé... pourtant j'ai déjà utilisé ça et ça marchait très bien :s.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 09/10/2007, 09h00
  2. Probleme avec des pointeurs...
    Par barucca dans le forum C++
    Réponses: 5
    Dernier message: 23/08/2005, 21h05
  3. [GridBagConstraints] Probleme espacement des composants
    Par Cyborg289 dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 04/08/2005, 14h22
  4. Problème avec des composants non déclarés
    Par vbcasimir dans le forum Bases de données
    Réponses: 1
    Dernier message: 20/01/2005, 11h17
  5. Problemes avec des cellules vides
    Par arsgunner dans le forum ASP
    Réponses: 7
    Dernier message: 14/06/2004, 08h42

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