Preencher selectOneMenu com consulta ao banco (Prime Faces)
Olá pessoal estou com dificuldade neste processo, o selectOneMenu acaba aparecendo vazio. Alguem pode me dar uma luz?
Desde já agradeço
XHTML
<h:outputLabel value="Advogado Responsavel: "></h:outputLabel>
<p:selectOneMenu value="#{processoBean.entidade.funcionario}">
<f:selectItem itemLabel="Advogado Responsavel" itemValue="#" />
<f:selectItems var="funcionario" itemValue="#" itemLabel="#{funcionario.nome}" value="#{processoBean.listarFuncionario}" />
</p:selectOneMenu>
Bean
@ManagedBean
@SessionScoped
public class ProcessoBean extends CrudBean<Processo, ProcessoDAO> {
private ProcessoDAO entidadeDAO;
private List<Funcionario> listaFuncionarios;
private FuncionarioDAO funcionarioDAO;
.
.
.
public Processo criarNovaEntidade() {
try {
listaFuncionarios = funcionarioDAO.buscar();
} catch (ErroSistema ex) {
Logger.getLogger(ProcessoBean.class.getName()).log(Level.SEVERE, null, ex);
}
return new Processo();
}
public List<Funcionario> listarFuncionario() throws ErroSistema{
return listaFuncionarios;
}
DAO
.
.
.
@Override
public List<Funcionario> buscar() throws ErroSistema { try {
Connection conexao = FabricaConexao.getConexao();
PreparedStatement ps = conexao.prepareStatement("select * from funcionario");
ResultSet resultSet = ps.executeQuery();
List<Funcionario> entidades = new ArrayList<Funcionario>();
while(resultSet.next()){
Funcionario entidade = new Funcionario();
entidade.setId(resultSet.getInt("id"));
entidade.setNome(resultSet.getString("nome"));
entidades.add(entidade);
}
FabricaConexao.fecharConexao();
return entidades;
} catch (SQLException ex) {
throw new ErroSistema("Erro ao buscar os itens!",ex);
}
}
Desde já agradeço
XHTML
<h:outputLabel value="Advogado Responsavel: "></h:outputLabel>
<p:selectOneMenu value="#{processoBean.entidade.funcionario}">
<f:selectItem itemLabel="Advogado Responsavel" itemValue="#" />
<f:selectItems var="funcionario" itemValue="#" itemLabel="#{funcionario.nome}" value="#{processoBean.listarFuncionario}" />
</p:selectOneMenu>
Bean
@ManagedBean
@SessionScoped
public class ProcessoBean extends CrudBean<Processo, ProcessoDAO> {
private ProcessoDAO entidadeDAO;
private List<Funcionario> listaFuncionarios;
private FuncionarioDAO funcionarioDAO;
.
.
.
public Processo criarNovaEntidade() {
try {
listaFuncionarios = funcionarioDAO.buscar();
} catch (ErroSistema ex) {
Logger.getLogger(ProcessoBean.class.getName()).log(Level.SEVERE, null, ex);
}
return new Processo();
}
public List<Funcionario> listarFuncionario() throws ErroSistema{
return listaFuncionarios;
}
DAO
.
.
.
@Override
public List<Funcionario> buscar() throws ErroSistema { try {
Connection conexao = FabricaConexao.getConexao();
PreparedStatement ps = conexao.prepareStatement("select * from funcionario");
ResultSet resultSet = ps.executeQuery();
List<Funcionario> entidades = new ArrayList<Funcionario>();
while(resultSet.next()){
Funcionario entidade = new Funcionario();
entidade.setId(resultSet.getInt("id"));
entidade.setNome(resultSet.getString("nome"));
entidades.add(entidade);
}
FabricaConexao.fecharConexao();
return entidades;
} catch (SQLException ex) {
throw new ErroSistema("Erro ao buscar os itens!",ex);
}
}
Bruno Patrocinio
Curtidas 0
Respostas
Michael Batista
26/11/2016
Não entendi bem, você definiu o valor como nulo e espera que aconteça oq?
itemValue="#"
itemValue="#"
GOSTEI 0
Bruno Patrocinio
26/11/2016
Somente o primeiro item esta com o valor nulo . Este e nullo e quando usuario escolhe a opção que descreve oneMenu .
GOSTEI 0