我正在尝试填充p:selectOneMenu,如下所示:
(XHTML)
<p:selectOneMenu id="perfil" value="#{criarContaBean.idPerfil}">
<f:selectItem itemLabel="Selecione" itemValue=""/>
<f:selectItems values="#{criarContaBean.perfis}"></f:selectItems>
</p:selectOneMenu>
豆:
private void carregarPerfis() {
ControladorPerfil c = new ControladorPerfil();
List<Perfil> lista = c.consultarPerfis();
perfis = new HashMap<Long, String>();
for (Perfil perfil : lista) {
perfis.put(perfil.getId(), perfil.getDescricao());
}
}
public HashMap<Long, String> getPerfis() {
return perfis;
}
该方法在init方法中调用,但是当我运行我的页面时,只显示selectitem。我错过了什么?
编辑:我发现了问题......它是value="#{criarContaBean.perfis}"
...而不是values
...
感谢帮助人员。
答案 0 :(得分:0)
f:selectItems
与Map
一起使用,而不是Collection
。
尝试如下:
<f:selectItems value="#{criarContaBean.perfis.entrySet()}" var="data"
itemValue="#{data.key}" itemLabel="#{data.value}" />