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

7 respostas
vitor53

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.

7 Respostas

D

kra, na sua servlet faça isso

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

na jsp acesse pela variavel ${variavel_para_jsp}

flw

vitor53

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;

}
vitor53

alguemm pode me ajudar please…

vitor53

?

E

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.

neno

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..

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

//resto do codigo...
 //imprimre o resultado
out.println("<head>");
out.println("<title>Servlet FechaComanda</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet FechaComanda at " + request.getParameter("id") + "</h1>");
out.println("<h2>valor" + c.getValor()+ "</h2>");
out.println("<h2>Qtd:" + c.getQtd()+ "</h2>");
out.println("</body>"); 

// (...) resto do codigo

espero ter ajudado..

vitor53

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:

Criado 8 de novembro de 2010
Ultima resposta 9 de nov. de 2010
Respostas 7
Participantes 4