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!
Se isso é o q vc já fez, então o q vc ainda ñ fez?
Não está funcionando, a variavel chega vazia na servlet
Verifique, por favor, como a expressão excluirPessoa?id=${pessoas.pessoa_id} está sendo renderizada na sua página.
Está normal, os ids aparecem na frente do id!
Fica assim
localhost:8081/Vendas/excluirPessoa?id=“numero” (1,2,3…)
Então posta o restante do código da servlet e o mapeamento dela tb.
Servlet:
[code] List pessoas = new ArrayList();
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();
}[/code]
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>
Poste, por favor, o restante do código da Servlet.
[code]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();
}
}
}[/code]