Boa tarde senhores,
Estudando um pouco sobhre JSF, segui este tutorial [url]http://uaihebert.com/?p=836[/url].Beleza, seguindo tudo que se sucede neste tutorial a aplicação funcionou perfeitamente.
Agora, para aprimorar esta aplicação resolvi implementar uma biblioteca visual, neste caso escolho o PRIMEFACES 3.
Minha telha de login ficou assim:<!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:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<h:head>
<h:outputStylesheet library="css" name="main.css" />
</h:head>
<h:body>
<p>Login to access secure pages:</p>
<h:form method="post" action="j_security_check">
<h:messages layout="table" errorStyle="background: #AFEEEE;"
infoStyle="background: #AFEEEE;" globalOnly="true" />
<h:panelGrid columns="2">
<h:outputLabel value="Username: " />
<p:inputText value="#{usuarioMB.usuario.email}"/>
<h:outputLabel value="Password: " />
<p:password value="#{usuarioMB.usuario.password}"/>
<h:outputText value="" />
<h:panelGrid columns="1">
<p:commandButton action="#{usuarioMB.login}" value="Logar"/>
</h:panelGrid>
</h:panelGrid>
<br />
</h:form>
</h:body>
</html>
package com.mb;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;
import com.facade.UsuarioFacade;
import com.model.Usuario;
@RequestScoped
@ManagedBean
public class UsuarioMB {
@EJB
private UsuarioFacade usuarioFacade;
private static final String LIST_ALL_DOGS = "listAllDogs";
private static final String STAY_IN_THE_SAME_PAGE = null;
private Usuario usuario;
public UsuarioMB(){
usuario = new Usuario();
}
public Usuario getUsuario(){
if(usuario == null){
ExternalContext context = FacesContext.getCurrentInstance().getExternalContext();
String userEmail = context.getUserPrincipal().getName();
usuario = usuarioFacade.findUserByEmail(userEmail);
}
return usuario;
}
public boolean isUserAdmin(){
return getRequest().isUserInRole("ADMIN");
}
public String logOut(){
getRequest().getSession().invalidate();
return "logout";
}
private HttpServletRequest getRequest() {
return (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
public String login(){
return LIST_ALL_DOGS;
/*try{
usuario = usuarioFacade.login(usuario.getEmail(), usuario.getPassword());
if (usuario != null){
System.out.println("Usuário Valido");
return LIST_ALL_DOGS;
} else {
System.out.println("usuário invalido");
return STAY_IN_THE_SAME_PAGE;
}
} catch (Exception e) {
e.printStackTrace();
return STAY_IN_THE_SAME_PAGE;
}*/
}
}
Porem, o login não ocorre, tão pouco gera algum erro. Fiz diversos testes e simulações e não consegui ver onde eu erro...
Caso algum de vocês tenha alguma idéia agradeceria.