Vetor na sessão

10 respostas
rocha

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

10 Respostas

leonardom

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

thiagorani

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

rocha

valeu vou tentar…

T

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?

skill_ufmt

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?

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

T

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 ??

skill_ufmt

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 ??

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:

T

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

skill_ufmt

teteorp
?

<%@page import="Dependente"%>

[:

´s
Obrigado pela atenção

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:

T

Valeu companheiro.

Aquele abraço. 8)

Criado 25 de novembro de 2004
Ultima resposta 16 de jun. de 2005
Respostas 10
Participantes 5