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