Boa tarde!
Sou novo aqui, estou cursando tecnico em informatica
e estou com um probleminha no meu software em web
eu uso converter managed bean e o primefaces
Ao chamar meu Objeto Cliente para o View Receber ele vem com o nome certinho definido
mas quando vou fazer o action para salvar no banco ele salva, mas em relação ao nome ele salva um número (Integer) no nome
segue abaixo->
View Receber:
<p:selectOneMenu style="width: 250px" immediate="true" id="cliente" value="#{receberBean.receber.cliente_receber}" requiredMessage="Falta Cliente" required="true">
<f:selectItem itemLabel="Escolha um Cliente" itemValue=" "/>
<f:selectItems value="#{clienteBean.list}" var="cliList" itemLabel="#{cliList.nome_cliente}" itemValue="#{cliList}" />
</p:selectOneMenu>
Cliente Converter
@FacesConverter(forClass = ClientePOJO.class)
public class ClienteConverter implements Converter{
@Override
public Object getAsObject(FacesContext context, UIComponent component, String id) {
try {
ClienteDao dao = new ClienteDao();
ClientePOJO cli = dao.find(Integer.valueOf(id));
return cli;
} catch (Exception e) {
e.getStackTrace();
}
return null;
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object obj) {
try {
ClientePOJO cli = (ClientePOJO) obj;
return cli.getCod_cliente()!= null ? String.valueOf(cli.getCod_cliente()) : null;
} catch (Exception e) {
e.getStackTrace();
}
return null;
}
}
acho que seria isso o DAO esta funcionando pois ele salva, apenas quando salvo no banco em vez de levar o nome que aparece no SelectOneMenu ele leva acho que o index do select ou Id do Atributo do Objeto, mas não leva o que quero que é o nome.
Agradeço ajuda!