Carregar e recuperar Vector na sessao do usuario?

7 respostas
S

Olá tudo bem?

Estou com a seguinte dúvida: Preciso carregar um vector na sessão do usuário e recupera-lo.

Motivo: Quando o usuário seleciona um produto em uma combo, estou carregando os valores do produto selecionado em caixas de texto.

Quando o usuário altera as informações das Caixas de texto e clica em inserir item, desejo carregar estas informações em um Vector. E assim que o Vector for carregado preciso carrega-lo na memória para que as informações não sejam perdidas. Resumindo tudo acontecerá da seguinte forma:

Inserir os itens de uma nota fiscal:
1 – usuário seleciona produto
2 – página é carregada com as informações do produto
3 – usuário altera ou não as informações como valor, quantidade, etc
4 – usuário clica em inserir item
5 – Tenho uma classe chamada produto, essa classe e instanciada e atribuída com os valores do produto.
6 – Carrego o objeto Produto no vector
7 – Carrego o vector na sessão do usuário
8 – A página e carregada novamente
9 – Recupero o vector da sessão do usuário
10 – Em seguida, devo listar os itens do vector na página
11 – O usuário poderá escolher outro produto e os passos devem ser repetir

Estou carregando o Vector da seguinte forma:

Vector vetor = new Vector();

Enumeration elementos ;

if (incluirItem”.equals(request.getParameter(lista)))

{

try

{

Produto produtoSelecionado = new Produto();

produtoSelecionado.setDados(
request.getParameter(“codProd”)
,
request.getParameter(“nomeProduto”),
request.getParameter(“txtQuantidade”),
request.getParameter(“txtQtdMin”),
request.getParameter(“txtPrecoVenda”),
request.getParameter(“txtPrecoCusto”));

//ESTOU CARREGANDO O VECTOR na sessão do usuário da seguinte maneira

vetor.addElement(produtoSelecionado);

HttpSession sessaoAdm = request.getSession(true);

sessaoAdm.setAttribute(matriz, vetor);

}

catch(Exception e)

{ }

}

%>

Estou recuperando o VECTOR DA SEGUINTE FORMA:

Mas está dando um erro quando passo o vector da sessão para o novo vector chamado lista.

Por gentileza, explique-me o que devo fazer>

<%

try

{

HttpSession sessaoAdm = request.getSession(true);

Vector lista = (Vector)sessaoAdm.getAttribute(“matriz”);

}

catch(Exception e)

{ }
if (lista.size() >= 1)

{

elementos = lista.elements();

if (elementos != null)

{

while(elementos.hasMoreElements())

{

Produto prod = (Produto)elementos.nextElement();
%>

<td> <%=prod.getCodProd()%> </td>

<td> <%=prod.getProdNome()%> </td>

<%

}

}

}

%>

7 Respostas

Bani

Qual é a mensagem de erro?

S

A mensagem de erro é a seguinte

type Exception report

message Internal Server Error

description The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to compile class for JSPNote: sun.tools.javac.Main has been deprecated.

An error occurred between lines: 567 and 584 in the jsp file: /jsp/ContasPagar.jsp

Generated servlet error:
C:Tomcat 4.0worklocalhostccprjspContasPagar$jsp.java:846: Undefined variable: Vector
Vector itemProduto = (Vector).sessaoAdm.getAtribute(“matriz”);
^

An error occurred between lines: 567 and 584 in the jsp file: /jsp/ContasPagar.jsp

Generated servlet error:
C:Tomcat 4.0worklocalhostccprjspContasPagar$jsp.java:851: Undefined variable or class name: lista
if (lista.size() >= 1)
^

An error occurred between lines: 567 and 584 in the jsp file: /jsp/ContasPagar.jsp

Generated servlet error:
C:Tomcat 4.0worklocalhostccprjspContasPagar$jsp.java:853: Undefined variable or class name: lista
elementos = lista.elements();
^
3 errors, 1 warning

at org.apache.jasper.compiler.Compiler.compile(Compiler.java:285)
at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:552)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:177)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:189)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:382)
_fs
  • java.util.* foi importado?

  • Vector itemProduto = (Vector).sessaoAdm.getAtribute(“matriz”);
    o ponto depois de ( Vector ) é um erro de sintaxe

  • você tem certeza que o atributo da sessão ( “matriz” ) pode sofrer um cast para Vector?

S

E aí Lipe, beleza?

Cara o java.util.* foi importado sim.

Vector itemProduto = (Vector).sessaoAdm.getAtribute(“matriz”);
o ponto depois de ( Vector ) é um erro de sintaxe

  • você tem certeza que o atributo da sessão ( “matriz” ) pode sofrer um cast para Vector?

BEM COM RELAÇÃO A ESTA PERGUNTA, NÃO SEI RESPONDER, POIS ESTÁ É MINHA DÚVIDA

S

Caramba eu não tinha percebido o ponto na hora do cast.

Vector itemProduto = (Vector).sessaoAdm.getAtribute(“matriz”);

_fs

Funcionou?

Bem, de qualquer maneira, você deveria saber de “matriz” é um vetor, pois foi você quem colocou lá hehe

S

Cara agora estou no trabalho. Só vou poder olhar o código quando chegar em casa. Depois volto pra falar se funcionou, valeu!

Criado 23 de maio de 2004
Ultima resposta 24 de mai. de 2004
Respostas 7
Participantes 3