estou com esse erro no meu Bean " The class ‘managedbeans.LoginBean’ does not have the property ‘sair’ "
Porém, sair é o nome do meu metodo para dar logout no sistema …
Eu chamo ele dessa forma no meu JSF:
<div id="header">
<h:form style="display: inline;">
<h:commandLink styleClass="botao" action="#{loginBean.sair}" >Sair</h:commandLink>
</h:form>
</div>
loginBean
public String sair (){
HttpSession sessioon = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false);
sessioon.removeAttribute("autenticado");
return "atelogo";
}
Mesmo que eu comente o método no Bean ou a linha no JSF ele continua com o erro … o que pode ser ?
ei brother poste o ManagedBean completo e a versão do Jsf que vc ta usando.
BMuniz
Fevereiro 11, 2011, 7:21am
#3
Diego Adriano,
Você colocou o seu action no faces-config.xml?
<navigation-case>
<from-view-id>*</from-view-id>
<from-outcome>atelogo</from-outcome>
<to-view-id>/content/Login.jsf</to-view-id>
</navigation-case>
Estou usando a versão 2.0 do JSF
Esse é o meu managedBean:
package managedbeans;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.context.FacesContext;
import javax.persistence.EntityManager;
import javax.servlet.http.HttpSession;
import modelo.Login;
import repositorios.LoginRepository;
@ManagedBean
public class LoginBean {
private Login login = new Login();
@ManagedProperty(value="#{entityManager}")
private EntityManager entityManager;
public String entrar(){
LoginRepository repository = new LoginRepository(this.entityManager);
if (repository.autentica(this.login)){
HttpSession sessioon = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false);
sessioon.setAttribute("autenticado", true);
return "home";
}else
return "login";
}
public String sair (){
HttpSession sessioon = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false);
sessioon.removeAttribute("autenticado");
return "atelogo";
}
public Login getLogin() {
return login;
}
public void setLogin(Login login) {
this.login = login;
}
public void setEntityManager(EntityManager entityManager) {
this.entityManager = entityManager;
}
public EntityManager getEntityManager() {
return entityManager;
}
}
Não fiz isso no meu faces-config.xml …Esta assim:
<application>
<message-bundle>resources.Messages</message-bundle>
</application>
</faces-config>
@ManagedBean (name=“loginBean”)
amigo ainda não identifiquei nenhum erro aparente
se vc corrigir esse erro posta ai a solução , fiquei curioso.
valew
Aparentemente resolvi o problema.
Limpei o cache do IE, limpei os Temps do GlassFish e do Eclipse, reiniciei e funionou …rs
Coloquei a anotação que o Kanin sugerei e funcionou, por curiosidade retirei … e funcionou tambem …
Ou seja … não sei explicar qual era o erro … rsrs
Mas vlw a força galera …