Bom dia pessoal, estou fazendo os exercicios da apostila fj 21 e no 7.7 esta dando um problema q eu não consigo entender eu mando executar e da o seguinte erro:
[quote]type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: /lista-contatos-elegante.jsp(6,7) Invalid standard action
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:88)
org.apache.jasper.compiler.Parser.parseStandardAction(Parser.java:1129)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1420)
org.apache.jasper.compiler.Parser.parse(Parser.java:130)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:255)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:185)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:347)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:314)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.29 logs.[/quote]
O codigo e exatamente o que esta na apostila.
[code]
<%@ taglib uri=“http://java.sun.com/jsp/jstl/core ” prefix=“c” %>
${contato.nome}
${contato.email}
${contato.endereco}
${contato.dataNascimento.time}
[/code]
aajjbb
Janeiro 7, 2011, 10:07am
#2
tem certeza de que esse é o caminho certo do seu dao? o seu metodo se chama realmente getLista(); ?
Por algum motivo qnd eu fiz o exercicio 7.11 funcionou
mas como pedido vou mostrar minha dao
[code]package modelo;
import java.sql.Date;
import valida.Valida;
public class Contato {
private Long id;
private String nome;
private String email;
private String endereco;
private Date dataNascimento;
private String dataNascimentoString;
public String getNome() {
return this.nome;
}
public void setNome(String novo) {
this.nome = novo;
}
public String getEmail() {
return this.email;
}
public void setEmail(String novo) {
this.email = novo;
}
public String getEndereco() {
return this.endereco;
}
public void setEndereco(String novo) {
this.endereco = novo;
}
public Long getId() {
return this.id;
}
public void setId(Long novo) {
this.id = novo;
}
public Date getDataNascimento() {
return this.dataNascimento;
}
public void setDataNascimento(Date dataNascimento) {
this.dataNascimento = dataNascimento;
}
public String getDataNascimentoString() {
Valida valida = new Valida();
dataNascimentoString = valida.bdParaString(getDataNascimento());
return dataNascimentoString;
}
public void setDataNascimentoString(String dataNascimentoString) {
this.dataNascimentoString = dataNascimentoString;
}
}[/code]
e Jstl atualizada
[code]<%@ taglib uri=“http://java.sun.com/jsp/jstl/core ” prefix=“c” %>
${contato.nome}
${contato.email}
${contato.endereco}
${contato.dataNascimentoString}
[/code]
errei a classe
ai vai a certa
[code]package dao;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import modelo.Contato;
public class ContatoDAO {
private Connection connection;
public ContatoDAO() {
this.connection = new FabricaConexao().getConnection();
}
public void adiciona(Contato contato) {
String sql = "insert into contatos (nome,email,endereco, dataNascimento) values (?,?,?,?)";
try {
// prepared statement para inserção
PreparedStatement stmt = connection.prepareStatement(sql);
// seta os valores
stmt.setString(1, contato.getNome());
stmt.setString(2, contato.getEmail());
stmt.setString(3, contato.getEndereco());
stmt.setDate(4, contato.getDataNascimento());
// executa
stmt.execute();
stmt.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
public List<Contato> getLista() {
try {
List<Contato> contatos = new ArrayList<Contato>();
PreparedStatement stmt = this.connection
.prepareStatement("select * from contatos");
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
Contato contato = new Contato();
contato.setNome(rs.getString("nome"));
contato.setEmail(rs.getString("email"));
contato.setEndereco(rs.getString("endereco"));
contato.setDataNascimento(rs.getDate("dataNascimento"));
contatos.add(contato);
}
rs.close();
stmt.close();
return contatos;
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
public void altera(Contato contato) {
String sql = "update contatos set nome=?, email=?, endereco=?, dataNascimento=? where id=?";
try {
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setString(1, contato.getNome());
stmt.setString(2, contato.getEmail());
stmt.setString(3, contato.getEndereco());
stmt.setDate(4, contato.getDataNascimento());
stmt.setLong(5, contato.getId());
stmt.execute();
stmt.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
public void remove(Contato contato) {
try {
PreparedStatement stmt = connection
.prepareStatement("delete from contatos where id=?");
stmt.setLong(1, contato.getId());
stmt.execute();
stmt.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}[/code]
O caminho da classe eu tinha colocado certo mas continou com o erro.
Já tentou debugar o metodo listar?
As vezes a lista está chegando vazia na sua VIEW
Arrumou, so q eu n entendi pq dps q eu coloquei pra validar o e-mail começou a funcionar
Blza então…
Edita o titulo do post para [Resolvido] então