Pessoal não agüento mais pesquisar. Não sei oq faço de errado.
:(
Estou querendo consultar no banco de dados e exibir em um SelecteItems.
Meu Managed Bean:
public class UsuarioMB {
private String nome;
private String telefone;
private String email;
private String login;
private String senha;
private String tipo;
private Usuario user;
private ArrayList<SelectItem> todosUser;
...
...
...
public List<SelectItem> getTodosUser() {
todosUser = new ArrayList<SelectItem>();
UsuarioBusiness ub = new UsuarioBusiness();
List<SelectItem> usuario = new ArrayList<SelectItem>();
usuario = ub.listarUsuario();
for (SelectItem selectItem : usuario) {
usuario.add(new SelectItem(new Integer(user.getId()), user.getNome()));
}
return todosUser;
}
}
public List<SelectItem> listarUsuario() {
usuarioDAO = new UsuarioDAO();
List<SelectItem> retorno = new ArrayList<SelectItem>();
retorno = usuarioDAO.listarUsuario();
return retorno;
}
Minha classe Dao
public List<SelectItem> listarUsuario() {
EntityTransaction transaction = manager.getTransaction();
List<SelectItem> retorno = null;
try {
Query query = manager.createQuery("SELECT u FROM Usuario u");
retorno = (List<SelectItem>) query.getResultList();
} catch (Exception e) {
transaction.rollback();
System.err.println("Erro: " + e.getMessage());
} finally {
manager.close();
}
return retorno;
}
Meu SelecteItems
<h:selectOneListbox value="#{projeto.project.nomeCliente}">
<f:selectItems value="#{usuario.todosUser}" />
</h:selectOneListbox>
É gerado um erro no foreach do managed beam. Alguem tem alguma dica?
Grato.