Target Unreachable, identifier resolved to null
Bonjour à tous,
Je suis en train de suivre un tuto sur JSF qui propose de créer un formulaire d'inscription, avec un serveur Glassfish. Mais lorsque je soumets le formulaire avec le bouton "inscription", j'ai le message d'erreur suivant :
/Inscription.xhtml @13,119 value="#{inscrireBean.utilisateur.email}": Target Unreachable, identifier 'inscrireBean' resolved to null
De plus, dans mon backing Bean "InscrireBean", à la déclaration de ma classe (public class InscrireBean implements Serializable{), j'ai une grosse croix rouge qui m'indique : "Class "beans.InscrireBean" is listed in the persistence.xml file, but is not annotated".
Voici ma classe InscrireBean :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| package beans;
import java.io.Serializable;
import java.sql.Timestamp;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;
import dao.UtilisateurDao;
import entities.Utilisateur;
@ManagedBean(name = "inscrireBean")
@RequestScoped
public class InscrireBean implements Serializable {
private static final long serialVersionUID = 1L;
private Utilisateur utilisateur;
// Injection de notre EJB (Session Bean Stateless)
@EJB
private UtilisateurDao utilisateurDao;
// Initialisation de l'entité utilisateur
public InscrireBean() {
utilisateur = new Utilisateur();
}
// Méthode d'action appelée lors du clic sur le bouton du formulaire
// d'inscription
public void inscrire() {
initialiserDateInscription();
utilisateurDao.creer( utilisateur );
FacesMessage message = new FacesMessage( "Succès de l'inscription !" );
FacesContext.getCurrentInstance().addMessage( null, message );
}
public Utilisateur getUtilisateur() {
return utilisateur;
}
private void initialiserDateInscription() {
Timestamp date = new Timestamp( System.currentTimeMillis() );
utilisateur.setDateInscription( date );
}
} |
et voici mon fichier persistence.xml, qui se trouve dans le dossier META-INF :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| <?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="bdd_sdzee_PU" transaction-type="JTA">
<jta-data-source>jdbc/bonecp_resource</jta-data-source>
<class>entities.Utilisateur</class>
<class>beans.InscrireBean</class>
<properties>
<property name="eclipselink.logging.level.sql" value="FINE"/>
<property name="eclipselink.logging.parameters" value="true"/>
</properties>
</persistence-unit>
</persistence> |
Et mon fichier faces-config.xml, qui se trouve dans WebContent (je ne sais pas s'il ne faut pas le mettre dans WEB-INF/ ?) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <?xml version="1.0" encoding="UTF-8"?>
<faces-config
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd"
version="2.2">
<managed-bean>
<managed-bean-name>inscrireBean</managed-bean-name>
<managed-bean-class>beans.InscrireBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
</faces-config> |
Où se trouve l'erreur ? Je ne vois pas beaucoup de cohérence dans les erreurs signalées.
Merci d'avance de votre aide