Bom dia pessoal… é o seguinte estou começando a trabalhar com o facelets e estou apanhando feio rsrsr.
Então estou criando um novo projeto no netbeans 6.1 e escolho o framework Facelets e o hibernate. Até aí blz.
Crio os pacotes os com os beans so q no arquivo faces-config tenho q deixar assim :
com.sun.facelets.FaceletViewHandler
<!-- our NumberBean we just created -->
<managed-bean>
<managed-bean-name>NumberBean</managed-bean-name>
<managed-bean-class>tutorial.NumberBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
<managed-property>
<property-name>min</property-name>
<value>1</value>
</managed-property>
<managed-property>
<property-name>max</property-name>
<value>10</value>
</managed-property>
</managed-bean>
<!-- going from guess.xhtml to response.xhtml -->
<navigation-rule>
<from-view-id>/guess.xhtml</from-view-id>
<navigation-case>
<from-outcome>success</from-outcome>
<to-view-id>/response.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>/response.xhtml</from-view-id>
<navigation-case>
<from-outcome>success</from-outcome>
<to-view-id>/guess.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
e não é o q quero colocar os beans no faces-config.xml e sim direto no bean e deixar funcionando assim :
import java.util.Locale;
import javax.ejb.Remove;
import javax.ejb.Stateful;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Out;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.core.FacesMessages;
import org.jboss.seam.security.Identity;
@Stateful
@Name(“login”) @Scope(ScopeType.SESSION)
public class LoginBean implements Login {
@PersistenceContext
private EntityManager em;
@In
private FacesMessages facesMessages;
@In
private Identity identity;
@In(required=false, scope=ScopeType.SESSION) @Out(required=false, scope=ScopeType.SESSION)
private Usuario usuario;
private String user;
private String pass;
private boolean loggedIn;
public String getUser() { return user; }
public void setUser(String user) { this.user = user; }
public String getPass() { return pass; }
public void setPass(String pass) { this.pass = pass; }
public boolean isLoggedIn() { return loggedIn; }
public Locale getLoggedLocale() {
if(usuario == null || usuario.getIdioma() == null) {
return Locale.getDefault();
} else {
return usuario.getIdioma().getLocale();
}
}
public String login() {
try {
Query q = em.createQuery("SELECT u FROM Usuario u WHERE u.username = :user AND u.password = :pass");
q.setParameter("user", user);
q.setParameter("pass", Crypto.toMD5(pass));
usuario = (Usuario) q.getSingleResult();
loggedIn = true;
MenuAction m = (MenuAction) Component.getInstance("menuAction");
m.actionDeselectMenu();
identity.setUsername(usuario.getUsername());
identity.setPassword(usuario.getPassword());
return identity.login();
} catch(Exception e) {
e.printStackTrace();
facesMessages.addFromResourceBundle("login.fail");
usuario = null;
loggedIn = false;
return "";
}
}
public void logout() {
identity.logout();
Seam.invalidateSession();
}
@Destroy @Remove
public void destroy() { }
}
Por já agradeço e espero respostas.