Ola pessoal, já sei que deve haver post com dúvidas parecidas mas vamos lá, estou tentando implementar um lookup com jsf, para isso estou tentando utilizar um converter, está listando beleza, mas quando eu tento gravar dá pau.
Meu Converter:
public class ProcessoConverter implements Converter {
public ProcessoConverter() {
}
public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2) {
Integer codigo = Integer.parseInt(arg2);
Processo processoDAO = DAOFactory.instance(DAOFactory.HIBERNATE).getProcesso();
return processoDAO.findById(codigo, true);
}
public String getAsString(FacesContext arg0, UIComponent arg1, Object arg2) {
Processo pro = (Processo) arg2;
return String.valueOf(pro.getProProtocolo());
}
}
O método que cria a listagem no managed bean:
public List<SelectItem> getProcessos() {
List<SelectItem> toReturn = new LinkedList<SelectItem>();
Processo processoDAO = DAOFactory.instance(DAOFactory.HIBERNATE).getProcesso();
for (Processo pro : processoDAO.findAll()) {
toReturn.add(new SelectItem(pro, pro.getFaseProcesso()));
}
return toReturn;
}
o selectOnemenu na página jsp:
<h:selectOneMenu id="processo"
value="#{AtendimentoControl.inputProcesso}">
<f:selectItems value="#{AtendimentoControl.processos}" />
<f:converter converterId="ProcessoConverter" />
</h:selectOneMenu>
Tentei colocar binding em vez de value mas ai da pau logo de cara, alguém pode me dar uma ajuda?