JSP: request.setAttribute + Redirecionamento

3 respostas
I

Pessoal, estou com o seguinte problema.

estou usando tiles no meu projeto, assim, coloquei o seguinte codigo no inicio do layout
<c:choose>
<c:when test="${sessionScope.usuario == null}">

<% request.setAttribute("mensagemLogin", "Por favor efetue login novamente!"); %>

<c:redirect url="/index.do"/>

</c:when>
</c:choose>
atravez deste codigo eu verifo se a autenticação do usuario ainda esta na sessão, caso não esteja, o mesmo é redirecionado para index. o problema é que o
<% request.setAttribute("mensagemLogin", "Por favor efetue login novamente!"); %>

não está setando este atributo, alguem tem alguma solução?

3 Respostas

rponte

Na verdade é importante que você entenda a diferença entre um FORWARD e um REDIRECT! Como você está efetuando um redirect, neste caso seus valores de requests são todos perdidos, ou seja, eles não serão recuperados na próxima página/servlet/action.

Dá uma lida aqui, isso vai te ajudar,
http://www.javapractices.com/topic/TopicAction.do?Id=181

Abraços e boa sorte!

I

Compreendo, considerando que vou usar um redirect, existe alguma forma de setar este atributo para a pagina seguinte?

rponte

Dependendo do atributo você poderá passa-lo via parâmetro na nova URL, ou utilizar-se da session. Acredito que por cookies também deva funcionar. O mais comum é parâmetro da URL que é bem simples, se for objetos mais complexos provavelmente você precise da session. Enfim, depende do cenário.

Abraços.

Criado 19 de maio de 2008
Ultima resposta 20 de mai. de 2008
Respostas 3
Participantes 2