Boa tarde, alguem sabe porque esse erro acontece?..
javax.servlet.ServletException: /listar.jsp(31,20) '#{item.codigoDoEscob}' Property 'codigoDoEscob' not found on type santander.historico.ArquivoHistorico
javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
vinihds
Fevereiro 18, 2009, 1:18pm
#2
posta os codigos…talvez de para te ajudar.
vamos pelo inicio então, esta é a classe principal
public class ArquivoHistorico {
private static String codigoDoEscob;
private static String operacao;
private static String cpfCnpj;
private static String dataDoAcionamento;
private static String statusDoAtend;
private static String ddd;
private static String telefoneContatado;
private static String codigoDeClassificacaoDosStatus;
public ArquivoHistorico() {
}
public static String getCodigoDeClassificacaoDosStatus() {
return codigoDeClassificacaoDosStatus;
}
public static void setCodigoDeClassificacaoDosStatus(String codigoDeClassificacaoDosStatus) {
ArquivoHistorico.codigoDeClassificacaoDosStatus = codigoDeClassificacaoDosStatus;
}
public static String getCodigoDoEscob() {
return codigoDoEscob;
}
public static void setCodigoDoEscob(String codigoDoEscob) {
ArquivoHistorico.codigoDoEscob = codigoDoEscob;
}
public static String getCpfCnpj() {
return cpfCnpj;
}
public static void setCpfCnpj(String cpfCnpj) {
ArquivoHistorico.cpfCnpj = cpfCnpj;
}
public static String getDataDoAcionamento() {
return dataDoAcionamento;
}
public static void setDataDoAcionamento(String dataDoAcionamento) {
ArquivoHistorico.dataDoAcionamento = dataDoAcionamento;
}
public static String getDdd() {
return ddd;
}
public static void setDdd(String ddd) {
ArquivoHistorico.ddd = ddd;
}
public static String getOperacao() {
return operacao;
}
public static void setOperacao(String operacao) {
ArquivoHistorico.operacao = operacao;
}
public static String getStatusDoAtend() {
return statusDoAtend;
}
public static void setStatusDoAtend(String statusDoAtend) {
ArquivoHistorico.statusDoAtend = statusDoAtend;
}
public static String getTelefoneContatado() {
return telefoneContatado;
}
public static void setTelefoneContatado(String telefoneContatado) {
ArquivoHistorico.telefoneContatado = telefoneContatado;
}
}
este é o DAO que popula minha lista
public List<ArquivoHistorico> pegaTodoHistoricoCorrigido() throws SQLException, ClassNotFoundException {
List<ArquivoHistorico> toReturn = new LinkedList<ArquivoHistorico>();
ResultSet rs = pegaDeclaracao().executeQuery("select * from historico_corrigido");
while (rs.next()) {
ArquivoHistorico arquivoHistorico = new ArquivoHistorico();
populaArquivo(arquivoHistorico, rs);
toReturn.add(arquivoHistorico);
System.out.println(arquivoHistorico.getCodigoDoEscob() +
"|" + arquivoHistorico.getOperacao() +
"|" + arquivoHistorico.getCpfCnpj() +
"|" + arquivoHistorico.getDataDoAcionamento() +
"|" + arquivoHistorico.getStatusDoAtend() +
"|" + arquivoHistorico.getDdd() +
"|" + arquivoHistorico.getTelefoneContatado() +
"|" + arquivoHistorico.getCodigoDeClassificacaoDosStatus());
}
rs.close();
return toReturn;
}
private void populaArquivo(ArquivoHistorico arquivoHistorico, ResultSet rs) throws SQLException {
arquivoHistorico.setCodigoDoEscob(rs.getString("codigoDoEscob"));
arquivoHistorico.setOperacao(rs.getString("operacao"));
arquivoHistorico.setCpfCnpj(rs.getString("cpfCnpj"));
arquivoHistorico.setDataDoAcionamento(rs.getString("dataDoAcionamento"));
arquivoHistorico.setStatusDoAtend(rs.getString("statusDoAtend"));
arquivoHistorico.setDdd(rs.getString("ddd"));
arquivoHistorico.setTelefoneContatado(rs.getString("telefoneContatado"));
arquivoHistorico.setCodigoDeClassificacaoDosStatus(rs.getString("codigoDeClassificacaoDosStatus"));
}
este é meu bean que acessa a minha lista
LeituraArquivoHistoricoDAO leituraDAO = new LeituraArquivoHistoricoDAO();
private List<ArquivoHistorico> arq;
public List<ArquivoHistorico> getAllHistorico() throws SQLException, ClassNotFoundException {
if (arq == null) {
arq = leituraDAO.pegaTodoHistoricoCorrigido();
//System.out.println(arq);
}
return arq;
}
e esta é minha pagina JSP
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<!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=UTF-8">
<title>Históricos KG</title>
</head>
<body>
<f:view>
<h2>Processar Arquivo de Históricos </h2>
<h:dataTable var="item" value="#{ProcessarHistoricoMB.allHistorico}" border="3" rows="25">
<%--coluna do codigo do escob--%>
<h:column>
<f:facet name="header">
<h:outputText value="codigoDoEscob"/>
</f:facet>
<h:outputText value="#{item.codigoDoEscob}" />
</h:column>
<%--coluna da operação--%>
<h:column>
<f:facet name="header">
<h:outputText value="operacao"/>
</f:facet>
<h:outputText value="#{item.operacao}" />
</h:column>
<%--coluna do cpfCnpj--%>
<h:column>
<f:facet name="header">
<h:outputText value="cpfCnpj"/>
</f:facet>
<h:outputText value="#{item.cpfCnpj}" />
</h:column>
<%--coluna data do acionamento--%>
<h:column>
<f:facet name="header">
<h:outputText value="dataDoAcionamento"/>
</f:facet>
<h:outputText value="#{item.dataDoAcionamento}" />
</h:column>
<%--status do atendimento--%>
<h:column>
<f:facet name="header">
<h:outputText value="statusDoAtend"/>
</f:facet>
<h:outputText value="#{item.statusDoAtend}" />
</h:column>
<%--ddd--%>
<h:column>
<f:facet name="header">
<h:outputText value="ddd"/>
</f:facet>
<h:outputText value="#{item.ddd}" />
</h:column>
<%--telefone contatado--%>
<h:column>
<f:facet name="header">
<h:outputText value="telefoneContatado"/>
</f:facet>
<h:outputText value="#{item.telefoneContatado}" />
</h:column>
<%--codigo de classificação--%>
<h:column>
<f:facet name="header">
<h:outputText value="codigoDeClassificacaoDosStatus"/>
</f:facet>
<h:outputText value="#{item.codigoDeClassificacaoDosStatus}" />
</h:column>
</h:dataTable>
<h:form>
<h:commandButton value="Voltar" action="goback"/>
</h:form>
</f:view>
</body>
</html>
estes são os meus codigos…
vinihds
Fevereiro 18, 2009, 2:02pm
#4
cara, olhando por cima e nao achei nenhum erro …mas eu já tive uns problemas com List…e vc ta usando um obj q eu nao conheço…LinkedList
tenta usar desse modo:
public List pegaTodoHistoricoCorrigido() throws SQLException, ClassNotFoundException {
List toReturn = new ArrayListt();
ResultSet rs = pegaDeclaracao().executeQuery(“select * from historico_corrigido”);
while (rs.next()) {
ArquivoHistorico arquivoHistorico = new ArquivoHistorico();
arquivoHistorico.setCodigoDoEscob(rs.getString(“codigoDoEscob”));
arquivoHistorico.setOperacao(rs.getString(“operacao”));
arquivoHistorico.setCpfCnpj(rs.getString(“cpfCnpj”));
arquivoHistorico.setDataDoAcionamento(rs.getString(“dataDoAcionamento”));
arquivoHistorico.setStatusDoAtend(rs.getString(“statusDoAtend”));
arquivoHistorico.setDdd(rs.getString(“ddd”));
arquivoHistorico.setTelefoneContatado(rs.getString(“telefoneContatado”));
arquivoHistorico.setCodigoDeClassificacaoDosStatus(rs.getString(“codigoDeClassificacaoDosStatus”));
toReturn.add(arquivoHistorico);
}
rs.close();
return toReturn;
}
e no seu bean … tenta instanciar seu list…
List arq=new ArrayList();
guimoz
Fevereiro 18, 2009, 2:43pm
#5
<h:dataTable var="item" value="#{ProcessarHistoricoMB.allHistorico}"
vc tem q usar no value assim … value="#{seubean.nomedoseulist}"
no seu caso
<h:dataTable var="item" value="#{ProcessarHistoricoMB.arq}"/>
tentei assim com o arq no meu value e a unica coisa que mudou foi o erro dizendo agora que a propriedade que esta faltando é o arq
javax.servlet.ServletException: /listar.jsp(25,12) '#{ProcessarHistoricoMB.arq}' Property 'arq' not found on type santander.historico.managedbean.ProcessarHistoricoMB
javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
tem alguma coisa que não esta deixando o dataTable reconhecer as propriedades da minha lista
guimoz
Fevereiro 18, 2009, 3:00pm
#7
primeiro vc tem q circundar seu table e todo e qql componente jsf dentro d um <h:form>
…
posta seu web.xml e seu faces-config.xml
faces-config
[code]<?xml version='1.0' encoding='UTF-8'?>
/welcomeJSF.jsp
gotoListar
/listar.jsp
ProcessarHistoricoMB
santander.historico.managedbean.ProcessarHistoricoMB
request
[/code]
web-xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<context-param>
<param-name>com.sun.faces.verifyObjects</param-name>
<param-value>false</param-value>
</context-param>
<context-param>
<param-name>com.sun.faces.validateXml</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
</context-param>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>forwardToJSF.jsp</welcome-file>
</welcome-file-list>
</web-app>
guimoz
Fevereiro 18, 2009, 3:16pm
#9
mudando o escopo do seu mb pra session n funciona ?.. :?:
nem mudando o escopo para sessão funciona, criei outro projeto e mesmo assim não lista na tela, o metodo esta populando normalzinho por isso coloquei a saida no console pra verificar se o problema não estava ai, mas até a execução do metodo funciona
Ai galera consegui resolver este problema na epoca em que este post foi iniciado com auxilio do JavaServer Faces HTML Tags Reference que se encontra no site http://www.exadel.com/tutorial/jsf/jsftags-guide.html .
Esse link me ajudou bastante…
erasmo_tec , já reparou que todos os getters e setters do seu bean estão marcados como static? Talvez seja esse o motivo do erro.
vi sim e ja foram corrigidos