Estou tentando popular um selectBox, os outros estão funcionando, este em especial não está.
private SelectItem[] disciplinas;
private SelectItem[] polos;
ArrayList<Disciplina> ld;
ArrayList<Polo> lp;
atualizaDisciplinas() - Funciona!
if (tipo == 1) {
// System.out.println(curso);
int codCurso = Integer.parseInt(curso);
cur.setCodCurso(codCurso);
ld = DBData.getDisciplinasDoCursoEmAvaliacao(pes, cur);
disciplinas = new SelectItem[ld.size() + 1];
int j = 0;
disciplinas[j++] = new SelectItem("s", "Selecione a Disciplina");
for (Disciplina disciplina : ld) {
disciplinas[j++] = new SelectItem(disciplina.getCodigo(),
disciplina.getNome());
}
disciplina = "s";
}
atualizaPolos() - Eis o problema. O método executa normalmente e popula o array, mas o jsf nao encontra.
if (tipo == 2) {
System.out.println("Inicializa Polos");
int codCurso = Integer.parseInt(curso);
cur.setCodCurso(codCurso);
lp = DBData.getPolo(pes, cur);
polos = new SelectItem[lp.size() + 1];
int j = 0;
polos[j++] = new SelectItem("s", "Selecione o Pólo");
for (Polo polo : lp) {
polos[j++] = new SelectItem(polo.getCodigo(), polo
.getNome());
}
for (int i = 0; i < polos.length; i++) {
System.out.print(polos[i].getValue() + " " + polos[i].getLabel());
}
JSF - listagem.disciplinas funciona corretamente, e está feito exatamente do mesmo jeito que polos
<h:selectOneMenu value="#{listagem.disciplina}" id="comboDisciplinas">
<f:selectItems value="#{listagem.disciplinas}" />
<a4j:support event="onchange" action="#{listagem.atualizaPolo}"
reRender="comboPolos"></a4j:support>
</h:selectOneMenu>
<h:selectOneMenu value="#{listagem.polo}" id="comboPolos">
<f:selectItems value="#{listagem.polos}" />
</h:selectOneMenu>
Erro
Expected a child component type of UISelectItem/UISelectItems for component type javax.faces.SelectOne(comboPolos). Found null.
Alguém sabe porque o JSF nao consegue pegar?
Grato