Bom dia pessoal!
Estou com problema em um SelectOneMenu,
creio eu, que o que eu fiz pra exibir o SelectOneMenu é um pouco de gambiarra, mas foi a unica solução em que pensei, e achei que funcionaria...
O que eu pensei foi o seguinte, como eu tenho dois List que são do mesmo tipo, se eu colocar eles em um SelectOneMenu, e na hora da validação colocar ele em um atributo do mesmo tipo, iria funcionar... Mas não foi o que aconteceu...
Erro no SelectOneMenu: wizPanel:tabPreNegociacao: Erro de validação: o valor não é válido
Veja meus códigos: xhtml:<p:selectOneMenu id="tabPreNegociacao" value="#{pedidoBean.tabPreNegociacao}" converter="converterTabela">
<f:selectItems value="#{pedidoBean.tabelasNegociacaoEst}" var="t" itemValue="#{t}" itemLabel="Estado: #{t.est_id.est_nome}"/>
<f:selectItems value="#{pedidoBean.tabelasNegociacaoCli}" var="t" itemValue="#{t}" itemLabel="Cliente: #{t.cli_id.cli_razao}"/>
</p:selectOneMenu><p:messages/>
private Tabela tabPreNegociacao;
private List<Tabela> tabelasNegociacaoCli;
private List<Tabela> tabelasNegociacaoEst;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package br.com.zanzini.converter;
import br.com.zanzini.dao.TabelaDao;
import br.com.zanzini.entity.Tabela;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;
/**
*
* @author altitdb
*/
@FacesConverter(value = "converterTabela")
public class ConverterTabela implements Converter {
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {
if (value != null && !value.equals("")) {
TabelaDao tabDao = new TabelaDao();
return tabDao.getTabelaById(Long.valueOf(value));
}
return null;
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object value) {
if (value instanceof Tabela) {
Tabela tabela = (Tabela) value;
return String.valueOf(tabela.getTab_id());
}
return "";
}
}
Alguém consegue enxergar o por quê de não funcionar corretamente?
Obrigado desde já!