Variável de escopo

Aê galera,

olha minha página de login:

[code]<%@ taglib prefix=“c” uri=“http://java.sun.com/jstl/core” %>

 <c:set var="var_session" scope="session" value="${22}" />
 <c:set var="var_request" scope="request" value="${11}" />

 <form action="entrar" method="POST">
   <input type="text" name="login" />
   <input type="password" name="senha" />
   <input type="submit" value="Entrar!" />
 </form>
[/code]

E a página para a qual direciona:

<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>


<html>

  <p>Variaveis passadas:</p>

  <p style="color:blue">Variavel de SESSAO: <c:out value="${var_session}" /></p>
  <p style="color:red">Variavel de REQUISICAO: <c:out value="${var_request}" /></p>

  <body>
    Login: <c:out value="${param.login}" />
    Senha: <c:out value="${param.senha}" />
  </body>

</html>

O problema é que o resultado é

Variavel de SESSAO: 22

Variavel de REQUISICAO:

Entendem? Faltou o 11 !!

OBRIGADO !!!

A solicitação que passa pela primeira página vai para a segunda?

Como você colocou o parametro no scope=“request” ele deve fazer parte da mesma solicitação, eu acho que é esse seu problema, de quelquer forma descreve o fluxo pra termos uma idéia.

Acho melhor você usar

${sessionScope.var_session}
${requestScope.var_request}

fica visível e o container não fica procurando o parametro.

Mesmo com <c:out value="${requestScope.var_request}" /> não funcionou!!

E sim, de login vai para a principal.

Então responda se as duas páginas fazem parte da mesma solicitação?
Se não faz parte da mesma solicitação, então não dá pra você recuperar o valor!

O dá sessão dá, pois o escopo da sessão dura até a ela ser invalidade ou remover o atributo.

Lembre-se que na página A você colocou no escopo solicitação, caso a página B não faz parte da mesma solicitação então sua lógica está furada, descreva o fluxo.

Olhando melhor o que você fez, você nunca vai ter o valor no requet.

Você tem duas páginas que não faz parte da mesma solicitação, acho melhor você rever alguns conceitos de escopo.

Aqui você criou um atributo na sessão, OK!

<c:set var="var_session" scope="session" value="${22}" />  

Aqui na solicitação, isso é na primeira solicitação

<c:set var="var_request" scope="request" value="${11}" />

Quando o fluxo estiver na segunda página será uma nova solicitação o atributo já era, não existe.

Entendeu?

Entendi. Mas eu pensei que o request fosse de uma página pra outra…Assim do jeito que explicaste fica parecendo o escopo “page”.

Blz, no final você entendeu, é que as vezes eu escrevo rápido.

[quote=_pto]Entendi. Mas eu pensei que o request fosse de uma página pra outra…Assim do jeito que explicaste fica parecendo o escopo “page”.

[/quote]