Inserir Item de um form na lista, lista na sessão e mostrar itens da lista na pagina jsp

1 resposta
carlosastro

Galera estou desenvolvendo uma aplicacao web com jsp. Ja fiz a parte de cadastros, consulta, edição. Tudo funcionado.

Ai me deparei com com um problema: Implementar a entrada de estoque. Onde a mesma vai ter de de buscar o fornecedor e jogar pra página. buscar produtos e ir adicionando os produtos na lista, mantendo os que ja estavam adicionados na lista e também o forncedor ja selecionado para depois ser efetuado a entrada em estoque dos produtos.

Aqui é que mora meu problema, não consigo ir montando uma collection, list, Vector, ArrayList, vetor[], Array[][] ou seja lá o que for para manter a lista na página e ir recebendo os demais itens do formulario de consulta.

já estou a duas semanas pra montar um exemplo bobo em jsp para que possa continuar a desenvolver o sistema. Já li as apostilas da Caelum, que por sinal são boas, mas não tem algo abragendo o meu problema.

Então gostaria de contar se possível com a ajuda da galera mais experiente qué já passaram por isso e se pude ajudar fico grato.

Abaixo os codigo que to tentando desenvolver para dai continuar a desenvolver o meu sistema.

Ta gerando e mostrando a lista gerada pelo for de teste, mas se eu pedir pra gerar de novo ele vai criar uma nova lista e com os novos dados e é esse o meu problema, não to sabendo adicionar os dados na mesma lista. Se alguém se dispor a dar uma olhada no código e tentar me ajudar a resolver este problema fico muito grato.

Classe Teste:

package font;

public class Teste {

    private String nome;
    private String end;
    private String data;


    
    public String getData() {
        return data;
    }

    public void setData(String data) {
        this.data = data;
    }

    public String getEnd() {
        return end;
    }

    public void setEnd(String end) {
        this.end = end;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    

}

Classe Colecao: Coleção da classe teste...

package font;

import java.util.ArrayList;
import java.util.List;

public class Colecao{
    private List<Teste> itemCol;


    public Colecao() {
        itemCol = new ArrayList<Teste>();
    }


 public List<Teste> getItemCol() {
        return itemCol;
    }

    public void setItemCol(List<Teste> itemCol) {
        this.itemCol = itemCol;
    }


    public void addItemTeste(Teste itemColecao) {
        try {
            this.itemCol.add(itemColecao);
            }
            catch (Exception e) {
                throw new RuntimeException(e);
    }

}


}


página index.jsp com meu form de adicionar item na lista

<%@page contentType="text/html; charset=iso-8859-1" pageEncoding="iso-8859-1" import="font.*, java.util.*"%>

<html>
<head>
<title>Teste de sessão</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>
<body>

<%

if (request.getParameter("processa")!=null){
    Teste t = new Teste();
    Colecao colec = new Colecao();   

    //------add 10 vezes os dados do formulario. Na verdade o que quero
    //é que vá adicionado um a um e liste todos da sessao
    
    for (int i=0;i<10; i++){
        t.setNome(request.getParameter("nome"));
        t.setEnd(request.getParameter("endereco"));
        t.setData(request.getParameter("nasc"));
        //--------adiciona na colecao       
        colec.addItemTeste(t);
    }


    //----coloca a colec na sessao cl
    session.setAttribute("cl",colec);

    ///------redireciona a pagina pra mostra a lista criada
    response.sendRedirect("mostra.jsp");

}
%>


<!-- Abaixo so meu form que chama esta pagina mesmo passando o parametro processa=ok -->

<form name="ListaSessao" method="post" action="index.jsp?processa=ok">
  <table width="180" border="0" align="center" cellpadding="0" cellspacing="1">
    <tr>
      <td width="55">Nome:</td>
      <td width="122">
      <input type="text" name="nome" id="nome"></td>
    </tr>
    <tr>
      <td height="18">Endereço:</td>
      <td>
      <input type="text" name="endereco" id="endereco"></td>
    </tr>
    <tr>
      <td>Nasc
        <div align="left"></div></td>
      <td>
      <input type="text" name="nasc" id="nasc"></td>
    </tr>
    <tr>
      <td colspan="2"><input type="submit" name="submit" value="Enviar"></td>
    </tr>
  </table>
</form>

<a >Ver resultado</a>

&lt;/body&gt;
&lt;/html&gt;

Página mostra.jsp que mostra o resultado da coleção/lista

&lt;%@page contentType="text/html; charset=iso-8859-1" pageEncoding="iso-8859-1" import="font.*, java.util.*"%&gt;

&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Teste de sessão&lt;/title&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"&gt;

&lt;/head&gt;
&lt;body&gt;

&lt;%
    //----pega dados da sessao

    Colecao colec = (Colecao)session.getAttribute(&quot;cl&quot;);

    List&lt;Teste&gt; listaTeste = colec.getItemCol();
   

    //-------Lista os dados da minha coleção. Ta listando ok.
    for (Teste obj : listaTeste) {
        out.println(&quot;Nome: &quot;+obj.getNome());
        out.println(&quot;Endereço: &quot;+obj.getEnd());
        out.println(&quot;Nascimento: &quot;+obj.getData());
        out.println(&quot;&lt;br&gt;&quot;);
        }

%&gt;

<a >Voltar</a>

&lt;/body&gt;
&lt;/html&gt;

1 Resposta

carlosastro

E ae galera. Eu são sei me expressar direito? Ou isto que perguntei é muito difícil? Ou porque a maioria que frequenta este forum não sabe muito? Ou os que sabem não querem compartilhar conhecimento?

Ou perguntei em 3 tópicos basicamente a mesma coisa e ninguem basicamente me respondeu não me deram nehuma ajuda.

Ou que dececpção… Caramba!!!

Eu sei que quem sabe responde se quizer, mas se ninguém vai responder pra que o fomrum então?

Desculpe-me a indignação, mas é pq to a muito tempo tentando fazer algo que é pra se resolver em pouquissimo tempo.

t+

Criado 20 de junho de 2010
Ultima resposta 21 de jun. de 2010
Respostas 1
Participantes 1