Olá pessoal, tenho a classe abaixo com a intenção de verificar a existência de um objeto de sessão:
package dao.admin;
import model.Admin;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.SimpleTagSupport;
public class TestaLoginAdmin extends SimpleTagSupport
{
public Admin testaLogin() throws JspException, IOException
{
PageContext pageContext = (PageContext) this.getJspContext();
HttpServletRequest request = (HttpServletRequest) pageContext.getRequest(); //Aqui dá erro de conversão
HttpSession sessao = request.getSession();
Admin admin = (Admin) sessao.getAttribute("admin");
if(admin != null)
{
return admin;
}
return null;
}
public void redireciona()
{
PageContext pageContext = (PageContext) this.getJspContext();
HttpServletRequest request = (HttpServletRequest) pageContext.getRequest(); //Aqui dá erro de conversão
response.sendRedirect("index.jsp"); // aqui tambem não rola
}
}
E tenho o jsp abaixo com uma chamada a essa classe:
<%@ page import="java.util.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<jsp:useBean id="validaAdmin" class="dao.admin.TestaLoginAdmin" />
<c:set var="admin" value="${validaAdmin.testaLogin()}" />
<c:set var="redireciona" value="${validaAdmin.redireciona()}" />
<c:choose>
<c:when test="${admin != null}">
${admin.nome};
</c:when>
<c:otherwise>
${redireciona};
</c:otherwise>
</c:choose>
Acontece que o método testaLogin pede um obteto request do tipo HttpServletRequest e não estou conseguindo passar esse parâmetro para ele.
O que fazer?