Session (carrinho de compras)

5 respostas
LucianoNasajon

Bom dia,

Desculpe se o exemplo é bem básico mas é q estou iniciando e jsp. Preciso fazer o seguinte: Tenho uma página (monitores.jsp) que passo argumentos via url. Na página compra.jsp eu recupero os valores e jogo numa session. A idéia é que ao clicar em Finalizar, apareça os valores somados (no exemplo seria 1100). Tentei muito mas não consegui. Alguem poderia ajudar?

Obrigado

monitores.jsp

<html>
    <body>
        <a href = "compras.jsp?nome=LG&valor=500"> <img src = "lg.jpg" width="100" height="100"></a><br><br>
        <a href = "compras.jsp?nome=Ferrari&valor=600"> <img src = "monitor1.jpg" width="100" height="100"></a>
        

    </body>
</html>

compras.jsp

<%
String nome = request.getParameter("nome");
String valor =request.getParameter("valor");
session.setAttribute("snome", nome);
session.setAttribute("svalor", valor);
%>



A marca do monitor é: <%= session.getAttribute ("snome") %><br>
O valor é:  <%= session.getAttribute ("svalor") %>

<a href="pagamento.jsp">Finalizar</a>

pagamento.jsp

<%
String objeto =	(String) session.getAttribute ("snome");
String valor =	(String) session.getAttribute ("svalor");
int x = Integer.parseInt(valor); 
%>

<%=x%>

5 Respostas

juliano_FRG

Amigo, coloca os códigos entre as tags "[code]" se não a galera não se anima pra responde. Pra fazer o que você quer você deve pegar os parâmetros em seu servlet e setá-los na sessão.

LucianoNasajon
juliano_FRG:
Amigo, coloca os códigos entre as tags "[code]" se não a galera não se anima pra responde. Pra fazer o que você quer você deve pegar os parâmetros em seu servlet e setá-los na sessão.

Desculpe ae... não sabia do "[code]".
Juliano, não entendi cara. Estou engatinhando mesmo em java/jsp. Teria como me explicar melhor?
Obrigado

F

Cara oq vc pode fazer é em compras.jsp criar tags do tipo hidden (do html) para guardar os valores do monitor e então enviá-los através de um formulário (post). Outra coisa é adicionar na url do pagamento os dados do monitor:

<a href="pagamento.jsp?nome=<%=request.getParameter("nome")%>&valor=<%=request.getParameter("valor")%>">Finalizar</a>

Claro isto apenas para vc treinar, pois na prática não poderia ser feito assim, pense que o usuário poderia alterar o valor do monitor direto na url :lol:

juliano_FRG

Você está usando algum framework MVC ? Se não estiver então deverá utilizar servlets. Um exemplo do que disse seria , considerando que você está passando o valor como parâmetro:

public void doGet(request, response) { //pode ser doGet ou doPost, dependendo de como você passar String valor = Integer.ParseInt(request.getparameter("valor")); request.setAttribute("valor", valor); RequestDispatcher v = request.getRequestDispatcher("/pagina.jsp"); v.forward(request, response); }

LucianoNasajon

Galera, obrigado ae pela atenção de todos. Não consegui fazer ainda mas vou dar uma estudada em tudo que foi comentado. Obrigado mesmo.

Criado 1 de dezembro de 2008
Ultima resposta 3 de dez. de 2008
Respostas 5
Participantes 3