Olá pessoas, estou com uma dúvida que procurei e não achei uma solução.
A situação é a seguinte, estou fazendo um sisteminha web (trabalho de aula) e nesse sistema criei um cabeçalho em um arquivo separado que será inserido em todas as páginas. Nesse cabeçalho tenho tenho dois links que enviam um parâmetro para um servlet para colocar na sessão o idioma que o usuário solicitou. O código é esse:
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<fmt:setLocale value="${sessionScope.language}"/>
<fmt:setBundle basename="br.senai.sc.progweb.restaurante.properties.mensagens"/>
//aqui está o link para o servlet
<div id="idioma" align="right">
<a href="definir-idioma?idioma=pt"><img border="0" alt="<fmt:message key="choose_language_pt"/>" src="images/bandeira_do_brasil.png"></a>
<a href="definir-idioma?idioma=en"><img border="0" alt="<fmt:message key="choose_language_en"/>" src="images/bandeira_inglaterra.png"></a>
</div>
<div id="menu" align="left">
<a href="index.jsp"><img border="0" alt="<fmt:message key="home_page"/>" src="images/logo.png" onclick=""></a>
</div>
O que gostaria de fazer é, quando chegar no servlet, colocar na sessão o idioma escolhido e retornar a página que enviou a solicitação. Como o usuário poderá clicar nesse link em qualquer página do site, gostaria de no servlet recuperar qual foi a url que o usuário estava antes para poder redirecionar o usuário para ela. No servlet o código até o momento está assim:
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class DefineIdioma
*/
public class DefineIdioma extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//recupera do link o idioma escolhido
String idioma = req.getParameter("idioma");
//coloca na sessao o idioma escolhido pelo usuario
req.getSession().setAttribute("language", idioma);
//retorna para a pagina que enviou a requisicao AQUI GOSTARIA DE ENVIAR A PÁGINA ANTERIOR
//resp.sendRedirect();
}
}
Procurei mas não consegui encontrar um comando para recuperar o endereço anterior para colocar como parâmetro no "resp.sendRedirect()". Alguém poderia dar uma luz?
Valeu