_pto
Janeiro 19, 2010, 2:53pm
#1
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 !!!
Alberes
Janeiro 19, 2010, 3:10pm
#2
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.
_pto
Janeiro 19, 2010, 3:41pm
#3
Mesmo com <c:out value="${requestScope.var_request}" /> não funcionou!!
_pto
Janeiro 19, 2010, 3:46pm
#4
E sim, de login vai para a principal.
Alberes
Janeiro 19, 2010, 3:48pm
#5
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.
Alberes
Janeiro 19, 2010, 3:56pm
#6
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?
_pto
Janeiro 19, 2010, 4:01pm
#7
Entendi. Mas eu pensei que o request fosse de uma página pra outra…Assim do jeito que explicaste fica parecendo o escopo “page”.
Alberes
Janeiro 19, 2010, 4:06pm
#8
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]