Pessoal estou com uma duvida em um selectonemenu …
Pois quero que o mesmo retorne para uma tela na qual será escolhida o acesso do usuario ( em qual )
Será que alguem pode me ajudar ?
Vou postar os codigos …
[code]public class UsuarioMB {
private Usuario usuario;
private List usuarios;
private List selectItems;
public List<Usuario> getUsuarios() {
return usuarios;
}
public List<SelectItem> getSelectItems() {
return selectItems;
}
public void setSelectItems(List<SelectItem> selectItems) {
this.selectItems = selectItems;
}
public void setUsuarios(List<Usuario> usuarios) {
this.usuarios = usuarios;
}
/** Creates a new instance of UsuarioMB */
public UsuarioMB(){
this.usuario=new Usuario();
// carregaVaras();
fillSelectItems();
}
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
public String excluir() {
UsuarioDAO uDAO = new UsuarioDAO();
try {
uDAO.deletar(usuario);
JSFUtil.setaMensagemInfo("Exclusão efetuada com sucesso");
// listar();
} catch (Exception ex) {
JSFUtil.setaMensagemInfo("Erro na exclusão: " + ex.getMessage());
}
return null;
}
public String limpar() {
usuario = new Usuario();
return null;
}
public String listar(){
UsuarioDAO uDAO = new UsuarioDAO();
usuarios=uDAO.listar();
uDAO.getConexao().close();
return "listar";
}
public String buscar(){
return "buscar";
}
public String cadastrar(){
UsuarioDAO uDAO=new UsuarioDAO();
if (usuario.getNomeUsuario().equals(""))
{
usuario.setNomeUsuario(null);
}
try
{
uDAO.inserirEditar(usuario);
limpar();
JSFUtil.setaMensagemInfo("Cadastro/Edição efetuado com sucesso!");
uDAO.getConexao().close();
} catch (Exception e) {
JSFUtil.setaMensagemError("Erro no cadastro: "+e.getMessage());
uDAO.getConexao().getTransaction().rollback();
}
return null;
}
private void fillSelectItems() {
carregaVaras();
}
private void carregaVaras()
{
UsuarioDAO uDAO = new UsuarioDAO();
selectItems = new ArrayList<SelectItem>();
selectItems.add(new SelectItem(null,"[Selecione]"));
for (Usuario u : uDAO.listarVara()) {
selectItems.add(new SelectItem(u.getCodUsuario(),u.toString()));
}
}
public List listarVaras(){
UsuarioDAO udao=new UsuarioDAO();
Usuario u = new Usuario();
if (u.getAtributos().equals(‘0’)){
return udao.listarVara();
}
return udao.listar();
}
}[/code]
[code]public class UsuarioDAO extends GenericDAO<Usuario, Integer> {
public Class getEntityClass() {
return Usuario.class;
}
public Usuario autenticaLogin(Usuario usuario) throws Exception {
Query dynaquery = super.getConexao().createQuery("FROM Usuario u Where u.login=:param1");
dynaquery.setParameter("param1", usuario.getCodUsuario());
usuario=(Usuario)dynaquery.getSingleResult();
return usuario;
}
public List<Usuario> listarVara() {
Query dynaQuery = getConexao().createQuery("FROM Usuario where vara is not null ");
return dynaQuery.getResultList();
}
Certamente vc gerou suas entidades pelo netbeans… o NB gera namedQueries, anotações em cima de cada entidade, é como se fosse as queries mais comuns que podem ser utilizadaspor vc, tipo um findbyId, select * from, etc…
Pois bem, qdo vc sobe sua aplicação essas queries são validadas; o que certamente houve, foi que o NB gerou as queries e atributos e vc renomeou algum atributo da entidade mas nao observou que alguma namedQuerie fazia referência a este atributo, verifique isto.
Sim foi o netbeans que gerou automaticamente …
Mas eu não mudei o nome de nada … está tudo como ele mesmo criou …
Ou seja nenhum atributo foi renomeado…nem o atributo de uma entidade …
olhando seu stack tenho a impressão que o problema está na configuração de alguma dentro desse método. Talvez o persistense, não sei. Dá uma olhada de perto nele ou manda o código aqui para o fórum.
O erro mudou …
Agora é :[quote]javax.servlet.ServletException: Expected a child component type of UISelectItem/UISelectItems for component type javax.faces.SelectOne(usuario_vara). Found null.
javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)[/quote]
quando eu refiz o persistence … o faces-config e depois de eu seguir o que vi no forum que era uma instrução de criar um construtor cheio e um vazio …
agora ele para nesse erro … alguem pode me ajudar ?
Meu mb agora ficou … [code]public class UsuarioMB {
private Usuario usuario;
private List usuarios;
private List selectItems;
/** Creates a new instance of UsuarioMB */
public UsuarioMB(){}
public UsuarioMB(Usuario usuario){
this.usuario=new Usuario();
// carregaVaras();
fillSelectItems();
}
public Usuario getUsuario() {
return usuario;
}
public List<Usuario> getUsuarios() {
return usuarios;
}
public List<SelectItem> getSelectItems() {
return selectItems;
}
public void setSelectItems(List<SelectItem> selectItems) {
this.selectItems = selectItems;
}
public void setUsuarios(List<Usuario> usuarios) {
this.usuarios = usuarios;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
public String excluir() {
UsuarioDAO uDAO = new UsuarioDAO();
try {
uDAO.deletar(usuario);
JSFUtil.setaMensagemInfo("Exclusão efetuada com sucesso");
// listar();
} catch (Exception ex) {
JSFUtil.setaMensagemInfo("Erro na exclusão: " + ex.getMessage());
}
return null;
}
public String limpar() {
usuario = new Usuario();
return null;
}
public String listar(){
UsuarioDAO uDAO = new UsuarioDAO();
usuarios=uDAO.listar();
uDAO.getConexao().close();
return "listar";
}
public String buscar(){
return "buscar";
}
public String cadastrar(){
UsuarioDAO uDAO=new UsuarioDAO();
if (usuario.getNomeUsuario().equals(""))
{
usuario.setNomeUsuario(null);
}
try
{
uDAO.inserirEditar(usuario);
limpar();
JSFUtil.setaMensagemInfo("Cadastro/Edição efetuado com sucesso!");
uDAO.getConexao().close();
} catch (Exception e) {
JSFUtil.setaMensagemError("Erro no cadastro: "+e.getMessage());
uDAO.getConexao().getTransaction().rollback();
}
return null;
}
private void fillSelectItems() {
// carregaVaras();
UsuarioDAO uDAO = new UsuarioDAO();
selectItems = new ArrayList<SelectItem>();
selectItems.add(new SelectItem(null,"[Selecione]"));
for (Usuario u : uDAO.listar()) {
selectItems.add(new SelectItem(u.getCodUsuario(),u.toString()));
}
}
// private void carregaVaras()
// {
// UsuarioDAO uDAO = new UsuarioDAO();
//
// select = new ArrayList();
//
// select.add(new SelectItem(null,"[Selecione]"));
// for (Usuario u : uDAO.listarVara()) {
//
// select.add(new SelectItem(u.getCodUsuario(),u.toString()));
//
// }
// }
public List listarVaras(){
UsuarioDAO udao=new UsuarioDAO();
Usuario u = new Usuario();
if (u.getAtributos().equals(‘0’)){
return udao.listarVara();