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 :

The method setVar(String) in the type DataTableTag is not applicable for the argument


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 9
    Par défaut The method setVar(String) in the type DataTableTag is not applicable for the argument
    Bonjour.
    je viens de commencer le deloppement J2EE avec eclise 3, tomcat - et JSF.
    J'ai pris le tutoriel de Olivier Schmitt. Le message indique un probleme de type que je n'arrive pas à resoudre. Voici le message renvoyé par la compilation


    org.apache.jasper.JasperException: Impossible de compiler la classe pour la JSP:

    Une erreur s'est produite à la ligne: 6 dans le fichier jsp: /data-table.jsp
    The method setVar(String) in the type DataTableTag is not applicable for the arguments (JspValueExpression)
    3: <%@ taglib uri="http://java.sun.com/jsf/core" prefix="core" %>
    4: <core:view>
    5: <html:form>
    6: <html:dataTable value="#{bank.customers}" var="customer" border="1">
    7: <html:column>
    8: <html:outputText value="#{customer.name}"/>
    9: </html:column>


    Stacktrace:
    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
    org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:423)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:316)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:294)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:281)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:414)
    com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:455)
    com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:139)
    com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:108)
    com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:266)
    com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:159)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
    L'erreur est due a la variable var dans le fomulaire suivant:

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <%@ page contentType="text/html" %>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="html" %>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="core" %>
    <core:view>
    	<html:form>
    		<html:dataTable value="#{bank.customers}" var="customer" border="1">
    			<html:column>
    			<html:outputText value="#{customer.name}"/>
    			</html:column>
    			<html:column>
    			<html:outputText value="#{customer.forname}"/>
    			</html:column>
    		</html:dataTable>
    	</html:form>
    </core:view>

  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,
    Essaies d'upgrader la version de Tomcat ... ou du moins tester sur une version plus récente, les 6.x serait le top ...

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 9
    Par défaut Impossible de compiler la classe pour la JSP
    Citation Envoyé par djo.mos Voir le message
    bonjour,
    Essaies d'upgrader la version de Tomcat ... ou du moins tester sur une version plus récente, les 6.x serait le top ...
    Merci djo.mos.
    Mon environement est le suivant:
    eclipse europa,
    tomcat 6.0,
    JSF 1.2

    En fait je tente de mettre un objet de type list dans une variable de type string.

    customer est une liste de clients sur laquelle je doit boucler.

    je precise que l'auteur du tutoriel avait utilise JSF 1

  4. #4
    Membre chevronné Avatar de heid
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Mai 2002
    Messages : 388
    Par défaut
    Essaies de changer le nom de ta variable de datatable par unCustomer. Ensuite, donnes nous le code de ton back bean et de ta classe customer.

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 9
    Par défaut Impossible de compiler la page jsp
    Citation Envoyé par heid Voir le message
    Essaies de changer le nom de ta variable de datatable par unCustomer. Ensuite, donnes nous le code de ton back bean et de ta classe customer.
    J'ai fait les modifications mais le message d'erreur persiste.
    Voici les fichiers utilisés:

    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
     
    package com.facestut.mvc;
     
    import java.util.ArrayList;
    import java.util.List;
    import com.facestut.bean.Customer;
     
    public class Bank {
     
    private List<Customer> customers = new ArrayList<Customer>();
     
    public Bank() {
    	this.customers.add(new Customer("DURAND","Paul"));
    	this.customers.add(new Customer("DUDULE","Michel"));
    	this.customers.add(new Customer("MARTIN","Athur"));
    	this.customers.add(new Customer("RICARD","Paul"));
    	}
    public void setCustomers(List<Customer> customers){
    	this.customers = customers;
    	}
    public List<Customer> getCustomers(){
    		return this.customers;
    		}	
    }
     
     
     
    package com.facestut.bean;
    public class Customer {
    	private String name = "DURAND";
    	private String forname = "Paul";
     
    	public Customer(){
    	}
    	public Customer(String pName, String pForname){
    		this.name = pName;
    		this.forname = pForname;
    	}
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public String getForname() {
    		return forname;
    	}
    	public void setForname(String forname) {
    		this.forname = forname;
    	}
    }
     
     
     
    <%@ page contentType="text/html" %>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="html" %>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="core" %>
    <core:view>
    <html:form>
    	<html:dataTable value="#{bank.customers}" var="customer" border="1">
    		<html:column>
    		<html:outputText value="#{customer.name}"/></html:column>
    		<html:column>
    		<html:outputText value="#{customer.forname}"/></html:column>
    </html:dataTable>
    </html:form>
    </core:view>
    J'ai cherché pendant plus d'une semaine.
    Merci de bien vouloir répondre.

  6. #6
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 36
    Par défaut
    Ca ne serait pas juste une erreur de cache ou de redéploiement ou de je ne sais pas quoi ? Parce que je ne vois pas l'erreur dans le code là.

Discussions similaires

  1. Réponses: 1
    Dernier message: 31/10/2013, 12h44
  2. method write(String) in the type Writer is not applicable
    Par FATENMRABET dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 27/09/2013, 13h05
  3. Réponses: 1
    Dernier message: 29/09/2010, 16h33
  4. Réponses: 1
    Dernier message: 19/11/2008, 17h47
  5. Type mismatch / Item not found in the collection.
    Par broise dans le forum VBA Access
    Réponses: 2
    Dernier message: 18/07/2008, 14h14

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