Estou fazendo um exercício onde eu cadastro as pessoas e depois tenho que verificar e tal cpf ja foi cadastrado .
int cpf;
cpf = Integer.parseInt(request.getParameter("cpf")); //Aqui eu recebo o CPF de um form.
contato cont = new contato();
ArrayList lista = (ArrayList) session.getAttribute("arrayNaSessao");
HashMap mapa = new HashMap();
//>> qual código coloco aqui ?
nao entendi… vc ta buscando um arraylist na sessão… onde o hashmap entra na historia?
tenta fazer dessa maneira:
[code]// primeiro vc pega o cpf e guarda no map
HashMap map = new HashMap();
mapa.put( “cpf”, seuCpf );
// feito isso vc guarda o HashMap com o cpf na sessão… isso vc sabe fazer
// depois vc resgataria ele da sessão da mesma forma que fez com arraylist, mas com o hashmap e pegaria o cpf do map assim:
HashMap map = getHashMap();
String cpf = (String) map.get( “cpf” );[/code]
Assim: eu tenho uma página de cadastro … onde pede o nome, cpf … (cadastrei essas pessoas) agora ou em outra página e digito o numero do cpf … o programa tem que verificar se aquele cpf existe no arrayList da sessão, eu dei o palpite de usar hasmap mas não conheço muito bem… poderia ser tbm com outro método.
um bean não sei se vc conhece… seria uma classe com variaveis pra guardar todos os dados que tem nesse formulario de cadastro
guarda ele na sessão e não um arraylist
nos métodos get e set desse bean vc pode inclusive tratar valores nulos e vazios e com ele é facil guardar ou pegar os dados de alguem usando banco de dados.
eu criei uma classe com os atributos, recebo os dados do formulário, jogo para um ArrayList() e depois jogo para sessão, essa parte ta certa… agora eu so preciso fazer um pagina onde eu digite o cpf e ele me diga se o mesmo ja foi cadastrado ou nao… (nessa páginas eu só digito o cpf que vai ser uma código de identificação da pessoa)
nesse codigo ele busca por Strings armazenadas no arrayList… se vc ta armazenando nele outra classe, é só substituir os generics do arrayList pela sua classe e armazenar do mesmo modo
ArrayList<String> pessoas = new ArrayList<String>();
// adiciona itens na lista
pessoas.add("Alberto");
pessoas.add("Victor");
pessoas.add("João");
// exibe os itens da lista usando um Iterator
for(Iterator<String> it = pessoas.iterator(); it.hasNext();){
System.out.println(it.next());
}
// By: http://www.arquivodecodigos.net/dicas/764
mas eu ja fiz um projeto de cadastros na web e fiz da forma q falei ali em cima…
ao invés de guardar os itens em um arrayList, vc armazena na propria classe e essa classe vc adiciona na sessão
se houver mais de uma classe pra armazenar na sessão, dae vc usa o HashMap como falei ali em cima ao invés do arraylist
Como os dados estão em um List, vc tera que percorrer o mesmo e ir comparando se o cpf da variavel é igual a do objeto da lista, sem muito segredos.
cpf = Integer.parseInt(request.getParameter("cpf")); //Aqui eu recebo o CPF de um form.
contato cont = new contato();
TipoMinhaClasse objetoEncontrado = null;
ArrayList lista = (ArrayList) session.getAttribute("arrayNaSessao");
for(Object obj : lista){
TipoMinhaClasse tp = (TipoMinhaClasse) obj;
if(tp.getCpf().equals(cpf))){
objetoEncontrado = tp;
break;
}
//objetoEncontrado é aquele que tem o cpf.
}