SelectOneMenu no JSF, resultado do banco muito grande(900000 registros)

6 respostas
Marky.Vasconcelos

Tem algum modo de a cada vez que eu selecione um SelectOneMenu atualizar um próximo?
Eu estou fazendo uma parte de endereços que consegui no Correio.
Mas são 900000 registros.

Então criei varios SelectOneMenu
o 1° Lista de Estados
E tem um botão que atualiza a tela do lado para carregar o próximo SelectOneMenu
Que é de Cidades, depois de Bairro, depois de Ruas
Não tem um modo que quando eu selecionar em um Item em um o outro já seja atualizado?
Sem precisar clicar em um botão atualizar?

Ou alguém tem uma solução melhor?Acho que também seria muito agradável.

6 Respostas

Jair_Rillo_Junior

Ola Mark

Você pode usar Ajax para atualizar esses dados de uma forma melhor.

Procure sobre ajax4jsf e irá ver que é super simples de fazer o que você quer.

kissdemon

http://www.guj.com.br/posts/list/40997.java

[]´s

Carlos

Marky.Vasconcelos

O richfaces também tem esse suporte?

Marky.Vasconcelos

A taglib usado naquele programa é a mesma que essa?

<%@taglib uri="http://richfaces.ajax4jsf.org/rich" prefix="a4j"%>

?

Porque eu tentei usa o a4j:support mas não existe pra taglib que mostrei.
Se alguém tiver o site eu agradeceria.

Marky.Vasconcelos

E se não fosse muito queria saber se para ter os SelectItems poderia ser feito como fiz nessa classe

package com.web.tecea.handler.endereco;

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

import javax.faces.model.SelectItem;

import com.web.tecea.database.dao.DAO;
import com.web.tecea.model.endereco.Bairro;
import com.web.tecea.model.endereco.Cidade;
import com.web.tecea.model.endereco.Endereco;
import com.web.tecea.model.endereco.Rua;
import com.web.tecea.model.endereco.UF;

public class EnderecoHandler {
	private Endereco end;
	private DAO<Rua> dao;
	private String uf, cidade, bairro;
	private UF estate;
	private Cidade city;
	private Bairro zone;
	
	public EnderecoHandler() {
		dao = new DAO<Rua>(Rua.class);
	}

	public void setUf(String uf) {
		this.uf = uf;
	}

	public String getUf() {
		return uf;
	}

	public void setCidade(String cidade) {
		this.cidade = cidade;
	}

	public void setBairro(String bairro) {
		this.bairro = bairro;
	}

	public Endereco getEnd() {
		return end;
	}

	public String getCidade() {
		return cidade;
	}

	public String getBairro() {
		return bairro;
	}

	public List<SelectItem> getUFBox() {
		List<SelectItem> list = new ArrayList<SelectItem>();
		DAO<UF> dao = new DAO<UF>(UF.class);
		dao.init();
		List<UF> ufs = dao.getList();
		for (UF uf : ufs)
			list.add(new SelectItem(uf.getNome()));
		return list;
	}

	public List<SelectItem> getCidadeBox() {
		List<SelectItem> list = new ArrayList<SelectItem>();
		estate = (UF) dao.search(UF.class, "UF", "nome", uf);
		Object[] criteria1 = { "uf", estate };
		List<Rua> ruas = dao.getList(criteria1);
		for (Rua rua : ruas)
			list.add(new SelectItem(rua.getCidade().getNome()));
		return list;
	}

	public List<SelectItem> getBairroBox() {
		List<SelectItem> list = new ArrayList<SelectItem>();
		city = (Cidade) dao.search(Cidade.class, "Cidade", "nome", cidade);
		Object[] criteria1 = { "uf", estate };
		Object[] criteria2 = { "cidade", city };
		List<Rua> ruas = dao.getList(criteria1,criteria2);
		for (Rua rua : ruas)
			list.add(new SelectItem(rua.getBairro().getNome()));
		return list;
	}

	public List<SelectItem> getRuaBox() {
		List<SelectItem> list = new ArrayList<SelectItem>();
		DAO<Rua> dao = new DAO<Rua>(Rua.class);
		zone = (Bairro) dao.search(Bairro.class, "Bairro", "nome", bairro);
		Object[] criteria1 = { "uf", estate };
		Object[] criteria2 = { "cidade", city };
		Object[] criteria3 = { "bairro", zone };
		List<Rua> ruas = dao.getList(criteria1, criteria2, criteria3);
		for (Rua rua : ruas)
			list
					.add(new SelectItem(rua.getCep() + " - "
							+ rua.getLogradouro() + rua.getLogradouro()
							+ rua.getComplemento() + " - "
							+ rua.getBairro().getNome() + " - "
							+ rua.getCidade().getNome() + " - "
							+ rua.getUf().getNome()));
		return list;
	}
}
Marky.Vasconcelos

Ninguém sabe me responder? E outra coisa, existe uma ferramenta gratuita para fazer telas JSF no Dreamwever?

Criado 24 de outubro de 2007
Ultima resposta 27 de out. de 2007
Respostas 6
Participantes 3