Vetor na sessão

Galera estou com um problema…

Em uma aplicação estou tendo de fazer algo do tipo uma cesta de compras… entro com um código de produto, faço um SELECT coloco o intem num vetor e esse vetor ponho em uma sessão q é apresentado para o usuário… só q o usuario pode querer adicionar mais intens idai como faço pra pegar o novo codigo e colocar nesse vetor q esta na sessão… Não sei se está é a melhor maneira alguém tem alguma dica para esta situação…

Valeu

Rocha

Use um ArrayList ao invés de usar vetor.

Exemplo:

List carrinho = new ArrayList();

Produto p1= new Produto("Livro");

carrinho.add(p1);

Produto p2= new Produto("Escova de dente");

carinha.add(p2);

Para saber mais consulte a API:

http://java.sun.com/j2se/1.4.2/docs/api/java/util/ArrayList.html

Recupera o objeto da sessao.

ArrayList cesta = (ArrayList) session.getAttribute(“cesta”);

Use a dica citada acima pelo nosso colega [ArrayList]

Ae vc cria um novo produto:
Produto p = new Produto(“CD”);

Acidona na cesta:
cesta.put§;

E atualiza o objeto na sessao:
session.setAttribute(“cesta”, cesta);

Firmeza?

[]´s

valeu vou tentar…

Olá.

Eu estou tentando fazer este lance do ArrayList na sessão. Mas eu to com um erro.
o codigo que eu faço no meu JSP é o seguinte:

<%
    ArrayList lista = (ArrayList) session.getAttribute("listadependentes");
    int i=1;
    int tam = lista.size();
    String cor;
    for (i=0; i<tam; ++i)
    {
        if (i%2!=0)
          cor = "#FFFFFF";
        else
          cor = "#FF9900";

        Dependente de = (Dependente) lista.get(i);
%>

Aí o TOMCAT da um erro HTTP-500 falando que Dependente nao pode ser resolvido ou nao é um tipo.

O que eu faço?

[quote=teteorp]Olá.

Eu estou tentando fazer este lance do ArrayList na sessão. Mas eu to com um erro.
o codigo que eu faço no meu JSP é o seguinte:

Aí o TOMCAT da um erro HTTP-500 falando que Dependente nao pode ser resolvido ou nao é um tipo.

O que eu faço?
[/quote]

Importar sua classe Dependente? :slight_smile:
Ter certeza que na sua “listadependentes” só tem Dependente?
Usar Iterator em vez de for :slight_smile:

Entao…
a minha classe Dependente(Dependente.class) esta la no diretorio classes do WEB-INF da minha aplicação (TOMCAT). Por isso que eu nao sei se devo dar um import ou nao (dentro do JSP).

É Certeza absoluta que a lista soh tem objetos da classe Dependente.

Qual a vantagem do Iterator em relação ao FOR ??

[quote=teteorp]Entao…
a minha classe Dependente(Dependente.class) esta la no diretorio classes do WEB-INF da minha aplicação (TOMCAT). Por isso que eu nao sei se devo dar um import ou nao (dentro do JSP).

É Certeza absoluta que a lista soh tem objetos da classe Dependente.

Qual a vantagem do Iterator em relação ao FOR ??[/quote]

Segundo meus poucos conhecimentos, é necessário que importe a classe sim :wink:

Iterator:
1 - É um Padrão de Projeto, portanto uma prática melhor.
2 - Encapsula a lógica de um FOR, tu não precisa de i pra cá, i lá, i++, i-- e todo aquele bloco conturbado de controle.
3 - com 2 linhas na versão 1.4, você faz a iteração, de maneira limpa e clara, na versão 5 com apenas 1 linha. Não novamente aquele monte de i e testes.
4 - Iterage sobre a coleção fácilmente, sem precisar de auxiliares como nos for.
5 - Presença de métodos como, next, hasnext, size, isempity que encapsulam lógicas que você teria que fazer.
6 - etc, etc etc

:slight_smile:

Ah…legal…
Eu andei dando uma bisbilhotada nisso ae…eh bem simples mesmo. mas primeiro tenho que deixar meu sistema funcionando. Depois eu deixo ele mais legivel.
Seguinte: Minha classe Dependente.class esta no diretorio /aplicacao/WEB-INF/classes mas ela esta isolada. Nao esta em nenhum pacote
como eu deveria fazer um import no meu JSP?
assim???


<%@page import="Dependente"%>

[]´s

Obrigado pela atenção

[quote=teteorp
?

<%@page import="Dependente"%>

[]´s
Obrigado pela atenção[/quote]

Se você estiver no eclipse só dar um “ctrl + barra de espaço” logo após escrever Dependente, como no trecho abaixo, que vai aparecer o caminho completo dela, é só copiar e colar no seu import

 else
           cor = "#FF9900";
 
         Dependente de = (Dependente) lista.get(i);
 %>

Mas seria interessante ter uma hierarquia em packages.
Talvez seja a hora de pensar em refatorar algumas coisas na app :slight_smile:

Valeu companheiro.

Aquele abraço. 8)