Opa
Tenho problema para setar um item de um Map no objeto:
Meu Converter
public class UnidadeConverter implements Converter {
@SuppressWarnings("deprecation")
@Override
public Object getAsObject(FacesContext context, UIComponent ui, String str) {
Origem origem = (Origem)context.getApplication().getVariableResolver().resolveVariable(context, "origem");
UnidadeBean bean= null;
bean = origem.getUnidadeSelectList(str);
if( bean == null ) {
FacesMessage message = new FacesMessage( FacesMessage.SEVERITY_ERROR,
"Unidade Desconhecida", "Unidade Desconhecida" );
throw new ConverterException( message );
}
return bean;
}
@Override
public String getAsString(FacesContext context, UIComponent ui, Object object) {
return ((UnidadeBean)object).getNome();
}
}
ManagedBean
public UnidadeBean getUnidadeBean() {
return unidadeBean;
}
public void setUnidadeBean(UnidadeBean unidadeBean) {
this.unidadeBean = unidadeBean;
}
public Map<String, UnidadeBean> getUnidades() {
UnidadeDAO dao = new UnidadeDAO(UnidadeBean.class);
List<UnidadeBean> resultado = dao.findAll();
for(UnidadeBean unidade : resultado){
unidades.put(unidade.getNome(), unidade);
}
return unidades;
}
Minha JSP
<h:selectOneListbox value="#{origem.unidadeBean}" size="0" converter="unidadeConverter">
<f:selectItems value="#{origem.unidades}" />
</h:selectOneListbox>
Alguém sabe como resolver isso?
[]'s