Galera tenho um problema que já estou pra ficar doido, tenho um selectOneMenu em primefaces que seleciono o estado, então ele passa para um converter e depois ele chama o município, a questão [e que ate o converter ele esta chegando normal, mas n]ao sei como recuperar no bean do município o retorno desse converter.
Só deixando claro que esse estado/município não é aquele padrão na verdade ele ja busca de uma view que criei pois é um select que envolve detalhes mas isso é o de menos…
O select
<p:outputLabel for="estado" value="Estado: " style="font-weight: bold; font-style: italic;"/> <p:selectOneMenu id="estado" value="#{vwTransparenciaUfBean.estado}" converter="converterEstado" style="width:200px" effect="fold" > <f:selectItem itemLabel="SELECIONE UM ESTADO" itemValue="" /> <f:selectItems value="#{vwTransparenciaUfBean.vwTransparenciaUfFiltrados}" /> <p:ajax listener="#{vwTransparenciaMunicipioBean.pesquisar()}" update="municipio" /> </p:selectOneMenu>
O converter
`public class ConverterEstado implements Converter {
@Override
public Object getAsObject(FacesContext facesContext, UIComponent uiComponent, String value) {
if (value != null && !value.isEmpty()) {
return (VwTransparenciaUfModel) uiComponent.getAttributes().get(value);
}
return null;
}
@Override
public String getAsString(FacesContext facesContext, UIComponent uiComponent, Object value) {
if (value instanceof VwTransparenciaUfModel) {
VwTransparenciaUfModel vwTransparenciaUfModel = (VwTransparenciaUfModel) value;
if (vwTransparenciaUfModel != null && vwTransparenciaUfModel instanceof VwTransparenciaUfModel && vwTransparenciaUfModel.getId() != null) {
uiComponent.getAttributes().put(vwTransparenciaUfModel.getId().toString(), vwTransparenciaUfModel);
return vwTransparenciaUfModel.getId().toString();
}
}
return "";
}
}`
O bean do municipio
`public class VwTransparenciaMunicipioBean implements Serializable {
private static final long serialVersionUID = 1L;
@Inject
private VwTransparenciaMunicipioRepository vwTransparenciaMunicipioRepository;
private VwTransparenciaMunicipioFilter filtro;
private List<VwTransparenciaMunicipioModel> vwTransparenciaMunicipioFiltrados;
public VwTransparenciaMunicipioBean() {
filtro = new VwTransparenciaMunicipioFilter();
}
public void pesquisar() {
vwTransparenciaMunicipioFiltrados = vwTransparenciaMunicipioRepository.filtrados(filtro);
}
public List<VwTransparenciaMunicipioModel> getVwTransparenciaMunicipioFiltrados() {
return vwTransparenciaMunicipioFiltrados;
}
public VwTransparenciaMunicipioFilter getFiltro() {
return filtro;
}
}`