Oi gente… eu estou com um problema utilizando JSF…
[code]org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 9 in the jsp file: /listaUsuarios.jsp
The method setVar(String) in the type DataTableTag is not applicable for the arguments (JspValueExpression)
6: <body>
7: <f:view>
8:
9: <h:dataTable var="u" value="#{teste.usuarios}">
10: <h:column>
11: <h:outputText value="#{u.nome}"/>
12: </h: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:308)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
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:320)
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)[/code]
Não entendo o porque de isto estar acontecendo… segue abaixo os códigos que estou trabalhando.
Classe: Usuario.java
[code]package br.com.ffm.info.waccesspapers.backbeans;
public class Usuario {
private String nome;
private String email;
public String getNome() {
return nome;
}
public String getEmail() {
return email;
}
public Usuario(String nome, String email) {
this.nome = nome;
this.email = email;
}
}[/code]
Classe: TesteManaged.java
[code]package br.com.ffm.info.waccesspapers.backbeans;
import java.util.ArrayList;
import java.util.List;
public class TesteManaged {
public List<Usuario> getUsuarios() {
ArrayList<Usuario> us = new ArrayList<Usuario>();
us.add(new Usuario("rodrigo", "noEmail"));
us.add(new Usuario("Urubatan", "noEmailTambem"));
return us;
}
}[/code]
Arquivo: faces-config.xml
[code]<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
<faces-config>
<managed-bean>
<managed-bean-name>teste</managed-bean-name>
<managed-bean-class>br.com.ffm.info.waccesspapers.backbeans.TesteManaged</managed-bean-class>
<managed-bean-scope>scope</managed-bean-scope>
</managed-bean>
</faces-config>[/code]
Arquivo: listarUsuario.jsp
[code]<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<html>
<body>
<f:view>
<h:dataTable var="u" value="#{teste.usuarios}">
<h:column>
<h:outputText value="#{u.nome}"/>
</h:column>
<h:column>
<h:outputText value="#{u.email}"/>
</h:column>
</h:dataTable>
</f:view>
</body>
</html>[/code]
O que eu estou fazendo de errado??? Alguém pode me ajudar???