Criar uma coleção de dados apartir de um formulario e listar em página jsp

1 resposta
carlosastro

Bom dia Pessoal. Estou tento dificuldades para criar uma coleção de objetos e lista-las em uma página jsp. Na minha página eu tenho um form com três itens, onde ao preencher e clicar no botao do form o mesmo deve adicionar os dados em uma variavel de sessao e listar os dados na página.

Segue o código do exemplo que to fazendo só pra estudo. Como sou iniciante de certa forma em java e principalmente em jsp, peço que me ajudem a entender e e criar uma coleção apartir de um formulario que vai adicionando os dados em uma coleção e depois listando estes dados na página.

desde já Obrigado.

Segue o exemplo que to tentando criar pra estudar mas não to conseguindo.

Código da página index.jsp

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

<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();

    //------tentativa de add 3 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<3; i++){
        t.setNome(request.getParameter("nome"));
        t.setEnd(request.getParameter("endereco"));
        t.setData(request.getParameter("nasc"));

        //--------tenta adicionar na colecao
        colec.addItemTeste(t);
    }

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


     Collection<Teste> c = (Collection) request.getAttribute("cl");     
        //---------tenta imprimir a coleção na tela     
     for (Teste obj : c) {
        out.println("Nome: "+obj.getNome());
        out.println("Endereço: "+obj.getEnd());
        out.println("Nascimento: "+obj.getData());

     }


   }

%>





<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">
        <select name="nome" id="nome">
          <option value="comp X">Computador x</option>
          <option value="TV y">Tv Y</option>
          <option value="monito z">Monitor Z</option>
        </select>      </td>
    </tr>
    <tr>
      <td height="18">Idade:</td>
      <td>
        <select name="endereco" id="endereco">
          <option value="0">Remover</option>
          <option value="1">Um</option>
          <option value="2">Dois</option>
          <option value="3">Tres</option>
        </select>      </td>
    </tr>
    <tr>
      <td>Nasc
        <div align="left"></div></td>
      <td><label for="textfield"></label>
      <input type="text" name="nasc" id="nasc"></td>
    </tr>
    <tr>
      <td colspan="2"><input type="submit" name="submit" value="Enviar"></td>
    </tr>
  </table>
</form>

</body>
</html>

Código da 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;
    }

    

}

Código da Classe Colecao

package font;

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

public class Colecao{
    private List<Teste> itemCol;


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

   public void addItemTeste(Teste itemColecao) {
		itemCol.add(itemColecao);
	}

    

}

1 Resposta

carlosastro

Olá galera niguem pode dar dicas de como resolver o meu problema ae.

Obrigado.

Criado 15 de junho de 2010
Ultima resposta 15 de jun. de 2010
Respostas 1
Participantes 1