Pessoal,
Estou começando a aprender JSF 2.0, mas não estou achando muito material.
Fiz um Bean pra controlar e um XHTML para listar tudo, ficou assim:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
Teste<br />
<h:commandLink action="#{controleUsuario.usuarios}" value="Usuários" />
</h:body>
</html>
package catalogo.controle;
import java.util.List;
import org.hibernate.Session;
import catalogo.dao.GenericDAO;
import catalogo.dao.UsuarioDAO;
import catalogo.util.HibernateUtil;
import catalogo.modelo.Usuario;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
@ManagedBean(name="controleUsuario")
@RequestScoped
public class UsuarioControle {
private Usuario usuario = new Usuario();
private List<String> suggest;
private int codigo;
private Session session = HibernateUtil.getSession();
GenericDAO<Usuario> dao = new GenericDAO<Usuario>(session, Usuario.class);
public UsuarioControle() {
if(this.usuario == null) {
this.usuario = new Usuario();
}
}
public String Salvar() {
dao.Salvar(this.usuario);
this.usuario = new Usuario();
return "CadastradoSucesso";
}
public String Atualizar() {
dao.Atualizar(usuario);
this.usuario = new Usuario();
return "AtualizadoSucesso";
}
public String Excluir() {
usuario.setCodigo(codigo);
dao.Excluir(usuario);
this.usuario = new Usuario();
return "RemovidoSucesso";
}
public String Carregar() {
UsuarioDAO usuarioDAO = new UsuarioDAO(session, Usuario.class);
this.usuario = usuarioDAO.PesquisarUsuarioPeloCodigo(this.codigo);
return "PesquisaSucesso";
}
public List<Usuario> getUsuarios() {
return dao.Listar();
}
public List<String> suggest(String busca) {
UsuarioDAO usuarioDAO = new UsuarioDAO(session, Usuario.class);
return usuarioDAO.findByNameSuggest(busca);
}
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
public int getCodigo() {
return codigo;
}
public void setCodigo(int codigo) {
this.codigo = codigo;
}
}
Quando vou rodar esse teste simples, aparece a seguinte mensagem:
Usuários: Este link está desativado, pois não está aninhado em um formulário JSF.
Alguem pode me ajudar?
Não sei se esta faltando alguma coisa, pelo que vi no JSF 2.0 nao precisa configurar o web.xml e nao precisa ter o faces-config.xml, eu ja fiz minha classe Usuario (modelo), UsuarioDAO tambem.
