Boa tarde pessoal. Tenho um tela de cadastro de paciente e nessa tela tem o campo plano que é chave estrangeira da tabela plano.
Preciso carregar em um p:selectOneMenu chamado plano todos os planos cadastrados na tabela plano, com o código abaixo
consigo carregar somente o primeiro plano cadastrado da tabela plano, os demais não, acho que estou quase lá, alguém poderia me ajudar no código?
PlanoController.java
package br.com.clinica.controller;
import br.com.clinica.dao.PlanoDao;
import br.com.clinica.dao.InterfacePlano;
import br.com.clinica.dao.PlanoDao;
import br.com.clinica.dao.InterfacePlano;
import br.com.clinica.model.Plano;
import java.awt.event.ActionEvent;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.faces.event.AjaxBehaviorEvent;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
import org.primefaces.context.RequestContext;
@ManagedBean
@SessionScoped
public class PlanoController {
private Plano plano;
private DataModel listaPlano;
public Plano getPlano() {
if (this.plano == null) {
this.plano = new Plano();
}
return plano;
}
public void setPlano(Plano plano) {
this.plano = plano;
}
public DataModel getListaPlano() {
List<Plano> lista = new PlanoDao().list();
listaPlano = new ListDataModel(lista);
return listaPlano;
}
public void prepararAdicionarPlano(ActionEvent actionEvent) {
plano = new Plano();
}
public void prepararAlterarPlano(ActionEvent actionEvent) {
plano = (Plano) (listaPlano.getRowData());
}
public void adicionar(ActionEvent actionEvent) {
InterfacePlano dao = new PlanoDao();
if ("".equals(plano.getDen_plano())) {
FacesContext.getCurrentInstance().addMessage("atencao", new FacesMessage(FacesMessage.SEVERITY_WARN, "Plano não deve ser nulo!", ""));
} else {
dao.salvar(plano);
FacesContext.getCurrentInstance().addMessage("ok", new FacesMessage(FacesMessage.SEVERITY_INFO, "Plano incluído com sucesso!", ""));
}
}
public String excluir() {
Plano plano = (Plano) (listaPlano.getRowData());
InterfacePlano dao = new PlanoDao();
dao.remover(plano);
return "plano";
}
public void atualizarPlano() {
InterfacePlano dao = new PlanoDao();
dao.atualizar(plano);
RequestContext.getCurrentInstance().closeDialog(plano);
}
public void choosePlano() {
this.prepararAlterarPlano(null);
RequestContext.getCurrentInstance().openDialog("planoAlterar");
}
public String carregarPlano(Plano p){
plano = p;
return "plano";
}
}
e aqui o código do meu p:selectOneMenu
<p:selectOneMenu id="plano"
value=""
style="height:25px; font-size: 13px; width: 80px"
onkeyup="this.value = this.value.toUpperCase();">
<f:selectItem itemLabel="#{planoController.plano.den_plano}"
itemValue="#{plano}" />
</p:selectOneMenu>

