Variavel servlet/jsp

8 respostas
D

Olá pessoal, tenho uma jsp com o seguinte cód.

<c:forEach var="pessoas" items="${pessoas}"> <tr> <td width=230><font size=2>${pessoas.pessoa_id}</font></td> <td width=230><font size=2>${pessoas.rg}</font></td> <td width=360><font size=1>${pessoas.nome}</font></td> <td width=230><font size=2>${pessoas.idade}</font></td> <td width=230><font size=2>${pessoas.cidade}</font></td> <td width=230><font size=2>${pessoas.estado}</font></td> <td width=230><font size=2><a href='excluirPessoa?id=${pessoas.pessoa_id}'>Excluir</a></td> </tr> </c:forEach>
Esse codigo exibe as pessoas que tenho no BD.
Quero passar para uma servlet que acessa um DAO o id da pessoa que quero excluir…
No que eu fiz, criei a variavel id, certo?
Como a recebo na servlet?
Segue o que já fiz

String aux = request.getParameter("id");
		int id = Integer.parseInt(aux);
		try {
		//	List<Pessoa> pessoas = new ArrayList<Pessoa>();
			PessoasDAO dao = new PessoasDAO();
			dao.excluirPessoas(id);
			RequestDispatcher rd = request.getRequestDispatcher("DeletarPessoas.jsp");
			
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

Obrigado!

8 Respostas

dev.rafael

Se isso é o q vc já fez, então o q vc ainda ñ fez?

D

Não está funcionando, a variavel chega vazia na servlet

dev.rafael

Verifique, por favor, como a expressão excluirPessoa?id=${pessoas.pessoa_id} está sendo renderizada na sua página.

D

Está normal, os ids aparecem na frente do id!

Fica assim

localhost:8081/Vendas/excluirPessoa?id=“numero” (1,2,3…)

dev.rafael

Então posta o restante do código da servlet e o mapeamento dela tb.

D
Servlet:
List<Pessoa> pessoas = new ArrayList<Pessoa>();
		PessoasDAO dao = new PessoasDAO();
		pessoas = dao.buscarPessoas();
		if (pessoas == null || pessoas.size() == 0) {
			getServletContext().setAttribute("errorMessage", "Não há dados no banco");			
			response.sendRedirect("");//pag de erro
		}
		else{
			request.setAttribute("pessoas", pessoas);
			RequestDispatcher rd = request.getRequestDispatcher("excluirPessoas.jsp");
			rd.forward(request, response);
		}
	
		String aux = request.getParameter("id");
		int id = Integer.parseInt(aux);
		try {
			dao.excluirPessoas(id);
			RequestDispatcher rd = request.getRequestDispatcher("index.jsp");
			
		} catch (Exception e) {
			e.printStackTrace();
		}
Mapeamento
<servlet>
    <display-name>CtrlExcluirPessoa</display-name>
    <servlet-name>CtrlExcluirPessoa</servlet-name>
    <servlet-class>control.CtrlExcluirPessoa</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>CtrlExcluirPessoa</servlet-name>
    <url-pattern>/excluirPessoa</url-pattern>
  </servlet-mapping>
dev.rafael

Poste, por favor, o restante do código da Servlet.

D
public class CtrlExcluirPessoa extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
  
	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		List<Pessoa> pessoas = new ArrayList<Pessoa>();
		PessoasDAO dao = new PessoasDAO();
		pessoas = dao.buscarPessoas();
		if (pessoas == null || pessoas.size() == 0) {
			getServletContext().setAttribute("errorMessage", "Não há dados no banco");			
			response.sendRedirect("");//pag de erro
		}
		else{
			request.setAttribute("pessoas", pessoas);
			RequestDispatcher rd = request.getRequestDispatcher("DeletarPessoas.jsp");
			rd.forward(request, response);
		}
	
		String aux = request.getParameter("id");
		int id = Integer.parseInt(aux);
		try {
			dao.excluirPessoas(id);
			RequestDispatcher rd = request.getRequestDispatcher("index.jsp");
			
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}
Criado 25 de novembro de 2010
Ultima resposta 26 de nov. de 2010
Respostas 8
Participantes 2