Boa Noite Colegas
Estou tentando fazer o seguinte:
Gostaria de Selecionar o Item no rich:comboBox e pegar o atributo Id do tipo Long no bean correpontende a este Item
tentei fazer da seguinte maneira…
populo o combo e tento passar o id atraves do actionparm:
<rich:comboBox value="#{paginaHandler.categoria.nome}"
selectFirstOnUpdate="false"
defaultLabel="Selecione a Categoria"
width="180"
id="ComboCategoria" >
<f:selectItems value="#{paginaHandler.categoriasCombo}" />
<a4j:commandLink actionListener="#{paginaHandler.escolheIdCategoria}" >
<f:attribute name="idcat" value="#{paginaHandler.categoria.idcat}"/>
<a4j:actionparam id="idCategoria" value="#{paginaHandler.idCategoria}" />
</a4j:commandLink>
</rich:comboBox>
no MB PaginaHandler
Categoria categoria = new Categoria();
private Long idCategoria;
public Long getIdCategoria() {
return idCategoria;
}
public void setIdCategoria(Long idCategoria) {
this.idCategoria = idCategoria;
}
public List<SelectItem> getCategoriasCombo() {
System.out.println("Listando Paginas do BD... Para ComboBox ");
List<SelectItem> listaCategorias = new ArrayList<SelectItem>();
for (Categoria ObjCat : getListCategoria()) {
listaCategorias.add(new SelectItem(new String(ObjCat.getNome())));
System.out.println(ObjCat.getNome());
}
return listaCategorias;
}
public void escolheIdCategoria(ActionEvent event) throws Exception {
UIComponent link = event.getComponent();
UIParameter param = (UIParameter) link.findComponent("idCategoria");
Long id = Long.parseLong((String) param.getValue());
setIdCategoria(id);
categoria.setIdcat(idCategoria);
}
porem o objeto categoria sempre fica null…
Alguem tem alguma sugestao???