PASSAR PARAMETRO (JSP ->SERVLET ->DAO) depois (DAO->JSP)

Pessoal, estou com um problema…

preciso fazer uma consulta , assim envio o id da mesa(JSP) para o Servelt que chama o DAO e executa a consulta e cria o objeto com os resultados, porem como pego o resultados de volta no jsp?

Abs Pessoal.
Se não fui muito claro podem falar que posto o fonte sei la, estou desesperado e estou comecando com java.

kra, na sua servlet faça isso

request.setAttribute(“variavel_para_jsp”, lista de resultados);

na jsp acesse pela variavel ${variavel_para_jsp}

flw

Mandei meu codigo fonte:

Aqui a parte do SERVLET


PrintWriter out = response.getWriter();
//Consumo c = new Consumo();
int id=(Integer.parseInt(request.getParameter(“id_produto”)));
ConsumoDAO cdao;
try {
cdao = new ConsumoDAO();
cdao.consulta(id);
} catch (SQLException ex) {
Logger.getLogger(FechaComanda.class.getName()).log(Level.SEVERE, null, ex);
}

try {

out.println("");
out.println("");
out.println(“Servlet FechaComanda”);
out.println("");
out.println("");
out.println(“

Servlet FechaComanda at " + request.getParameter(“id”) + “

”);
out.println(”");
out.println("");

AQUI O DAO

public Consumo consulta(int id) throws SQLException {
String sql = “select * from comanda where id_mesa=?”;
PreparedStatement stmt = conexao.prepareStatement(sql);
stmt.setInt(1, id);
ResultSet rs = stmt.executeQuery();
Consumo c = new Consumo();
if (rs.next()) {
c.setId(rs.getInt(“id_consumo”));
c.setId_comanda(rs.getInt(“id_comanda”));
c.setId_produto(rs.getInt(“id_produto”));
c.setQtd(rs.getInt(“qtd”));
c.setValor(rs.getInt(“valor”));
// c.setId_mesa(rs.getInt(“id_mesa”));
}
rs.close();
stmt.close();
return c;
}

alguemm pode me ajudar please…

?

dá uma estudada sobre JSTL que vc encontra a solução.

como o nosso amigo dkenji disse, você pode fazer assim:

(servlet)

...
cdao = new ConsumoDAO();
cdao.consulta(id); 
request.setAttribute("consumo", c); 
...

e no jsp

id: ${c.id} considere que as propriedades que você for acessar tem que ter os setters definidos.

ei vitor, é mais ou menos isso mesmo que o dkenji falou.

mas parece que nesse caso vc quer utilizar o proprio servlet pra imprimir os dados, no caso

no seu servlet vc so deixou de guardar o resultado da consulta no objeto que vc criou…

[code]cdao = new ConsumoDAO();
c = cdao.consulta(id); // aqui a alteração

//resto do codigo…
//imprimre o resultado
out.println("");
out.println(“Servlet FechaComanda”);
out.println("");
out.println("");
out.println(“

Servlet FechaComanda at " + request.getParameter(“id”) + “

”);
out.println(“

valor” + c.getValor()+ “

”);
out.println(“

Qtd:” + c.getQtd()+ “

”);
out.println(”");

// (…) resto do codigo
[/code]

espero ter ajudado…

neno, meu muito obrigado obrigado ao amigo kengji tbm que me ajudou, era isso mesmo e precisava enviar o trabalho hoje para a faculdade ja tinha desistido de fazer essa consulta.

Agradeco muito a ajuda de todos…

Valeu :lol: