Caros colegas, a poucos dias atrás eu postei no
forum uma pergunta sobre Session, eu até disponibilizei meu fonte com
problemas de Session, e por incrivel que pareça não entendi o
seguinte:
Eu criei um código que a pessoa ao entrar na
página em JSP, erá verificado se ele havia efetuado login, caso contrário ele
seria redirecionado para página de login. Meu código era este:
<%
//
if
(session.getAttribute("EstaLogado") == null)
response.sendRedirect("index.jsp?msg=Por%20%20favor,%20efetue%20seu%20login.");
else
{
String logado =
session.getAttribute("EstaLogado").toString();
if (!(logado == "true"))
response.sendRedirect("index.jsp?msg=Por%20%20favor,%20efetue%20seu%20login.");
}
// Verifica direitos de Usuário e cria um
link de atalho para módulo administrativo
String link =
"";
String admin =
session.getAttribute("eAdmin").toString();
if
((session.getAttribute("eAdmin") != null) && (admin ==
"true"))
link = "<a href=""
Administrativo</a>";
//
%>
Só que estava dando erro na hora que a pessoa
tentava acessar a página sem efetuar login. Dava
um JasperException, mas depois eu troquei o
código, e coloquei desta forma:
<%
String EstaLogado = (String)
session.getAttribute("EstaLogado");
if (EstaLogado ==
null)
response.sendRedirect("index.jsp?msg=Por%20%20favor,%20efetue%20seu%20login.");
else
{
String logado = (String)
session.getAttribute("EstaLogado");
if (!(logado == "true"))
response.sendRedirect("index.jsp?msg=Por%20%20favor,%20efetue%20seu%20login.");
}
// Verifica direitos de Usuário e cria um
link de atalho para módulo administrativo
String links =
"";
String admin = (String)
session.getAttribute("eAdmin");
if ((admin != null) &&
(admin == "true"))
links = "<a
href=""
Administrativo</a>";
%>
Na realidade a única coisa que mudei
foi,
Isto fazia dar o erro:
String logado =
session.getAttribute("EstaLogado").toString();
Este solucionou meu problema:
String logado = (String)
session.getAttribute("EstaLogado");
Qual a diferença entre eu utilizar (String) e
utilizar (toString();)?
Obrigado a todos.
Halex
Maciel