thiago.correa
Como você está usando o selectItems não há porquê usar o itemValue, retire-o
robsonsan
Fera
já fiz o teste sem ele mas não resolveu
thiago.correa
Como você populou esse h:selectOneMenu
robsonsan
conforme abaixo
List<MenuTO> listaSistemas = new ArrayList<MenuTO>();
private List<SelectItem> selectSistema;
public List<SelectItem> getSelectSistema() {
listaSistemas = permissoesDelegate.getSistemas();
selectSistema = new ArrayList<SelectItem>();
SelectItem si = new SelectItem();
for (MenuTO itemMenu : listaSistemas) {
si = new SelectItem();
si.setLabel(itemMenu.getIdMenu().toString());
si.setLabel(itemMenu.getDescMenu());
selectSistema.add(si);
}
return selectSistema;
}
thiago.correa
está aí o erro você está definindo 2 vezes o label
si.setLabel(itemMenu.getIdMenu().toString());
si.setLabel(itemMenu.getDescMenu());
teste esse código abaixo
public List<SelectItem> getSelectSistema() {
listaSistemas = permissoesDelegate.getSistemas();
selectSistema = new ArrayList<SelectItem>();
SelectItem si = new SelectItem();
for (MenuTO itemMenu : listaSistemas) {
si =
Integer idMenu = si.setLabel(itemMenu.getIdMenu();
String descricaoMenu = itemMenu.getDescMenu();
selectSistema.add(new SelectItem(id, descricaoMenu));
}
return selectSistema;
}
robsonsan
Fera,
realmente era isso…resolveu meu problema, muito obrigado segue como ficou meu código
public List<SelectItem> getSelectSistema() {
listaSistemas = permissoesDelegate.getSistemas();
selectSistema = new ArrayList<SelectItem>();
for (MenuTO itemMenu : listaSistemas) {
String idMenu = itemMenu.getIdMenu().toString();
String descricaoMenu = itemMenu.getDescMenu();
selectSistema.add(new SelectItem(idMenu, descricaoMenu));
}
return selectSistema;
}
Andre.flu
veja que não precisa necessariamente do método.
Eu crio uma variável que receberá o id do selecionado: #{configuracaoBean.idModalidadeCategoria}
<h:selectOneMenu value="#{configuracaoBean.idModalidadeCategoria}">
<f:selectItems value="#{configuracaoBean.listaModalidadeCategoria}"
var="modalidade"
itemValue="#{modalidade.id}"
itemLabel="#{modalidade.descricao}" />
</h:selectOneMenu>
Depois para obter o selecionado, itero na lista o retiro o objeto com aquele id.