Problemas com selectonemenu

4 respostas
jsfjava
R

Olá pessoal, sou novo na programação usando jsf e estou com problema para popular um selectonemenu com a lista puxada do banco de dados com hibernate.
A lista é preenchida e procurei em diversos topicos e fiz de diversas formas porem nenhuma funcionou.
fiz o meu bean assim:
@ManagedBean
@SessionScoped
public class EmpregadoBean {

private Empregado empr;
    private List<Empregado> lsEmpr;
    private List<Empresa> lsE;
    private List<Usuario> lsU;

    public void puxaDados(){
        lsE = new EmpresaJpaController(new FabricaSessao().getEmf()).findEmpresaEntities();           
        lsU = new UsuarioJpaController(new FabricaSessao().getEmf()).findUsuarioEntities();
   }
e aqui esta o meu selectonemenu:

<p:outputLabel value=“Empresa:” for=“empresa” />

<p:selectOneMenu id=“empresa” value="#{empregadoBean.empr.empresa}" converter=“EmpresaConverter” >

<f:selectItem itemLabel=“Selecione” itemValue="" noSelectionOption=“true”/>

<f:selectItems value="#{empregadoBean.lsE}" var=“emp” itemLabel="#{emp.nomefantasia}" itemValue="#{emp}"/>

</p:selectOneMenu>

<p:outputLabel value=“Usuario:” for=“usuario” />

<p:selectOneMenu id=“usuario” value="#{empregadoBean.empr.usuario}" converter=“UsuarioConverter” required=“true” requiredMessage=“The Usuario field is required.”>

<f:selectItem itemLabel=“Selecione” itemValue=""/>

<f:selectItems value="#{empregadoBean.lsU}" var=“user” itemLabel="#{user.nome}" itemValue="#{user}"/>

</p:selectOneMenu>

criei um converter para cada um e eles retornam os objetos usuario e empresa, testei o mesmo código em um projeto separado e funcionou, so onde preciso que não esta dando.
por favor galera alguém me da uma mão porque ja estou ficando careca lutando com isso

4 Respostas

M

No p:selectonemenu não era para ser: value="#{empregadoBean.lsE}" ?

Se sim, você deverá implementar os getters e setters

R

implementei os getters e setters porem continua dando errado, mesmo se eu colocar mais um f:selectItem so mostra o primeiro.
no p:selectonemenu o value seria onde o objeto seria setado, no f:selectItens o value o lista

M

Opa, vi errado kk
Você esta chamando o método puxaDados a onde?

R

puxo de uma classe q faz o retorno da lista.

private List findEmpresaEntities(boolean all, int maxResults, int firstResult) {

EntityManager em = getEntityManager();

try {

CriteriaQuery cq = em.getCriteriaBuilder().createQuery();

cq.select(cq.from(Empresa.class));

Query q = em.createQuery(cq);

if (!all) {

q.setMaxResults(maxResults);

q.setFirstResult(firstResult);

}

return q.getResultList();

} finally {

em.close();

emf.close();

}

}

ele puxa os dados com uso do criteria, algo q trouxe de uma certa experiência com java desktop.
este metodo fica dento da classe EmpresaJpaController e dentro da pagina de cadastro das empresas está puxando os dados porem na hora de jogar no selectonemenu não vai.

depurei o projeto e a lista ta sendo preenchida

Criado 21 de fevereiro de 2018
Ultima resposta 21 de fev. de 2018
Respostas 4
Participantes 2