Pessoal, to com um problema que é o seguinte:
Quero popular minha ListBox com dados de um BD, depois com o dado selecionado quero trabalhar nele.
Popular a listBox ateh consegui mas nao conseguir pegar eles para trabalhar.
Vou mandar o codigo:
Codigo da pagina xhtml
<form>
<div id ="consulta">
<h:outputText value="Curso: "/>
<h:selectOneListbox size="1" value="#{ProfessorBean.teste}" >
<f:selectItems value = "#{ProfessorBean.listaProfessor}" />
</h:selectOneListbox>
<h:commandButton value="Enviar" action="#{ProfessorBean.testeOk}"/>
</div>
</form>
<h:outputText value="#{ProfessorBean.teste}"/>
Agora o codigo do bean:
public class BackingBean {
private Professor professor;
private ProfessorDAO profDAO = new ProfessorDAO();
private List <SelectItem>listaProfessor;
private String teste;
public BackingBean() {
professor = new Professor();
}
public String testeOk(){
return "sucesso";
}
public Collection getlistaProfessor() {
List<Professor> list = profDAO.obterTodos();
listaProfessor = new ArrayList<SelectItem>();
for(Professor p : list){
SelectItem si = new SelectItem();
si.setValue(p.getSiape());
si.setLabel(p.getNome());
listaProfessor.add(si);
}
return listaProfessor;
}
public Professor getProfessor() {
return professor;
}
public void setProfessor(Professor usuario) {
this.professor = usuario;
}
/**
* @return the teste
*/
public String getTeste() {
return teste;
}
/**
* @param teste the teste to set
*/
public void setTeste(String teste) {
this.teste = teste;
}
}
A lista é montada, tudo certinho, mas na hora que clico no botao para enviar os dados do form, ele redireciona pra pagina normal, mas não mostra a String capturada pela variavel teste…
Alguem sabe o que pode ser?!
Desde ja, obrigado.