página JSP de Consulta, apresenta uma Lista:
<%@page import="java.util.List"%>
<%@page import="entidade.Usuario"
contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>NUTRILINE</title>
</head>
<script type="text/javascript">
function atualizar(id) {
var idParam = document.getElementById("id");
idParam.value = id;
document.forms[0].action="<%=request.getContextPath()%>/PreAtualizarUsuarioServlet";
document.forms[0].submit();
}
function remover(id) {
if (confirm("Deseja realmente excluir este ítem?")) {
var idParam = document.getElementById("id");
idParam.value = id;
document.forms[0].action="<%=request.getContextPath()%>/RemoverUsuarioServlet";
document.forms[0].submit();
}
}
function gerarPDF(id) {
var idParam = document.getElementById("id");
idParam.value = id;
document.forms[0].action="<%=request.getContextPath()%>/PDFUsuarioServlet";
document.forms[0].submit();
}
function PDFGeral() {
//var idParam = document.getElementById("id");
//idParam.value = id;
document.forms[0].action="<%=request.getContextPath()%>/PDFGeralUsuarioServlet";
document.forms[0].submit();
}
</script>
<body>
<%@include file="/geral/header.jsp"%>
<%@include file="/geral/rodape.jsp"%>
<form action="<%=request.getContextPath()%>/usuario/menu.jsp"
method="post">
<input type="hidden" name="id" id="id">
<table align=center bgcolor="#70DB93" style="border: 2px solid white">
<tr>
<td colspan=4 align="center" style="border: 2px solid white"><font
color="#000FFF"><h2>CONSULTA USUÁRIO</h2></font>
<p></td>
</tr>
<tr>
<th align="center" style="border: 2px solid white">Nome</th>
<th align="center" style="border: 2px solid white">Endereço</th>
<th align="center" style="border: 2px solid white">Telefone</th>
<th align="center" style="border: 2px solid white">Opções</th>
</tr>
<%
List<Usuario> lista = (List<Usuario>) request.getAttribute("lista");
for (int i = 0; i < lista.size(); i++) {
Usuario usuario = lista.get(i);
%>
<tr>
<td><font color="#000FFF"> <%=usuario.getNome()%>
</font></td>
<td><font color="#000FFF">
<center><%=usuario.getEndereco()%></center>
</font></td>
<td><font color="#000FFF">
<center><%=usuario.getTelefone()%></center>
</font></td>
<td align="center" style="border: 2px solid white"><input
type="button" name="acao" id="acao" value="Atualizar"
onclick="javascript:atualizar(<%=usuario.getId()%>);" /> <input
type="button" name="acao" id="acao" value="Remover"
onclick="javascript:remover(<%=usuario.getId()%>);" /> <input
type="button" name="acao" id="acao" value="PDF do Item"
onclick="javascript:gerarPDF(<%=usuario.getId()%>);" /></td>
</tr>
<%
}
%>
<tr>
<td colspan=3 align="center" style="border: 2px solid white"><a
href="/nutriline/usuario/menu.jsp">MENU</a></td>
<td colspan=1 align="center" style="border: 2px solid white"><input
type="button" name="acao" id="acao" value="PDF Geral"
onclick="javascript:PDFGeral();" /></td>
</tr>
</table>
</form>
<BODY BGCOLOR="#90EE90">
</body>
</html>
Servlet PreAtualizar, deve receber o Id do JavaScript Atualizar da página de consulta
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
//Integer id = Integer.parseInt(request.getParameter("id"));
String id = request.getParameter("id");
//System.out.println(id);
Usuario filtro = new Usuario();
filtro.setId(Integer.parseInt(id));
ControladorFachada fachada = new ControladorFachada();
List<Usuario> lista;
//Tentando pega a lista<Usuário> do ConsultarUsuarioServlet //NullPointException
try {
lista = fachada.consultarUsuario(filtro);
//lista = (List<Usuario>) request.getAttribute("lista");
request.setAttribute("usuario", lista.get(0));
} catch (PersistenciaException e) {
e.printStackTrace();
}
catch (ControladorUsuarioException e) {
e.printStackTrace();
}
RequestDispatcher view = request
.getRequestDispatcher("usuario/atualizarUsuario.jsp");
view.forward(request, response);
}
}
Servlet Autenticar, onde a Sessão foi criada
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String login = request.getParameter(USUARIO); //USUARIO => Atributo Constante e Estático
String senha = request.getParameter("senha");
Usuario usuario = new Usuario();
usuario.setLogin(login);
usuario.setSenha(senha);
ControladorFachada fachada = new ControladorFachada();
String mensagem = null;
HttpSession sessao = null;
try {
fachada.validarUsuario(usuario);
sessao = request.getSession(true);
sessao.setAttribute(USUARIO, usuario.getLogin());
request.setAttribute(USUARIO,usuario.getLogin());
mensagem = "logado com sucesso!";
} catch (PersistenciaException e) {
// TODO Auto-generated catch block
mensagem = e.getMessage();
e.printStackTrace();
} catch (ControladorUsuarioException e) {
// TODO Auto-generated catch block
mensagem = e.getMessage();
e.printStackTrace();
}
/*
String usuarioAutenticado = (String)
sessao.getAttribute("usuario_autenticado");
Long idUsuarioAutenticado = (Long)
sessao.getAttribute("id_usuario_autenticado");
if (usuarioAutenticado == null || idUsuarioAutenticado == null) {
response.sendRedirect("geral/autenticacao.jsp");
}
*/
request.setAttribute("mensagem", mensagem);
if (mensagem.equals("logado com sucesso!") /*&& sessao.equals(true)*/) {
request.setAttribute("usuario_autenticado", usuario.getLogin());
RequestDispatcher view = request
.getRequestDispatcher("geral/menuprincipal.jsp");
request.setAttribute("mensagem", mensagem);
view.forward(request, response);
} else if (mensagem.equals("preencha o campo usuário!")) {
RequestDispatcher view = request
.getRequestDispatcher("geral/autenticacao.jsp");
request.setAttribute("mensagem", mensagem);
view.forward(request, response);
} else if (mensagem.equals("preencha o campo senha!")) {
RequestDispatcher view = request
.getRequestDispatcher("geral/autenticacao.jsp");
request.setAttribute("mensagem", mensagem);
view.forward(request, response);
} else if (mensagem.equals("login ou senha incorretos!")) {
RequestDispatcher view = request
.getRequestDispatcher("geral/autenticacao.jsp");
request.setAttribute("mensagem", mensagem);
view.forward(request, response);
} else {
RequestDispatcher view = request
.getRequestDispatcher("geral/autenticacao.jsp");
view.forward(request, response);
request.setAttribute("mensagem", mensagem);
}
response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
}
Criei a Sessão mas não estou utilizando-a para passar valores, pode ser a causa do erro!
Não estou usando AJAX.