Duvidas com exibicao de valor em jsf

5 respostas
L

ola boa tarde pessoas,minha duvida é a seguinte tenho uma pg de cadastro de cidades onde a pagina inicial e uma tabela com tds as cidades,so que lá tem uma coluna uf onde exibo a uf da cidade,um tipico 1:n so que nao consigo exibir a sigla lá so exibe o codigo
assim como em tds as outras telas que trabalham neste mesmo esquema tipo em pedido so o codigo do cliente…
Aguem pode dar uma luz aew,como posso resolver isso?
obrigado,flws.

5 Respostas

cris2

Você tem certeza que está tentando exibir da maneira correta?
Como você está fazendo?

Meio estranho isso nõa? :roll: hehe

L

ola cris,Acredito que esteja da maneira correta vou postar uns trechos do meu codigo :
ta assim na minha tabela

<rich:column >
                         <center>
                            <h:outputText value="#{cid.estado}"></h:outputText>
                            </center>
                           </rich:column>

veja no meu mapeamento:

@JoinColumn(name = "estadoid", referencedColumnName = "estadoid")
    @ManyToOne
    private Estado estado;

mas o que vale é este valor aqui do conversor:

public String getAsString(FacesContext facesContext, UIComponent uIComponent, Object object) {
	        if (object == null) {
	            return null;
	        }
	        if(object instanceof Estado) {
	        	Estado o = (Estado) object;
	            return "" + o.getEstadoid();
	        } else {
	            throw new IllegalArgumentException("object:" + object + " of type:" + object.getClass().getName() + "; expected type: model.Estado");
	        }
	    }

Tipo se eu trocar o o.getEstadoid por get sigla aparece a uf blz mas daew me da um erro de conversao no selectOne da pagina de
cadastro. :frowning:
abraços.

Javabuntu

coloque seu código onde popula o comboBox e seu método que alimenta estes valores…

L

O metodo que popula a combo é este:

public javax.faces.model.SelectItem[] getEstadoids() {
		   IDaoEstado idao = new DaoEstado();  
	        
	            List <Estado> l = (List <Estado>) idao.ListarTodos();
	            SelectItem select[] = new SelectItem[l.size()];
	            int i = 0;
	            for(Estado x : l) {
	                    select[i++] = new SelectItem(x);
	                }
	                return select;	       
	    }

A combo ta funcionando blz,só se eu modificar o conversor que ela da erro.

L

Opa consegui resolver o problema,era que eu estava usando o conversor registrado para o tipo estado,agora eu coloquei o conversor somente para o selectOne e funfou blz :slight_smile: obrigado pela ajuda pessoal.
Abraços.

Criado 15 de abril de 2008
Ultima resposta 15 de abr. de 2008
Respostas 5
Participantes 3