web-dev-qa-db-fra.com

Cible inaccessible, identifiant résolu à null dans JSF 2.2

J'ai un problème avec JSF 2.2 et CDI, mon managerbean n'est pas résolu et cette erreur apparaît

"value =" # {userBean.user.name} ": cible inaccessible, l'identifiant 'userBean' est résolu à null"

Ceci est mon bean manager.

@ManagedBean
@RequestScoped
public class UserBean implements Serializable {
    private User user;

    public void setUser(user) {
        this.user = user;
    }
    ...
}

Ma vision est:

<h:form id="login-form">
    <h:outputText value="User"/>
    <h:inputText value="#{userBean.user.name}" id="username"/>

    <h:outputText value="Senha"/>
    <h:inputSecret value="#{userBean.user.password}" id="pasword"/>

    <h:commandButton id="button" value="Login" action="#{userBean.login}"/>

    <h:messages />
</h:form>
17
SaXeTz

J'ai résolu ce problème.

Ma Java version était la 1.6 et j'ai trouvé que j'utilisais 1.7 avec CDI mais après cela j'ai changé la Java version en 1.7 et importé le package javax.faces .bean.ManagedBean et tout a fonctionné.

Merci @ PM77-1


10
SaXeTz

Je veux partager mon expérience avec cette exception. Mon application JSF 2.2 a bien fonctionné avec WildFly 8.0, mais une fois, lorsque j'ai démarré le serveur, j'ai obtenu ceci "Objectif inaccessible" exception. En fait, il n'y avait aucun problème avec les annotations ou balises JSF.

La seule chose que je devais faire était nettoyer le projet. Après cette opération, mon application fonctionne à nouveau correctement.

J'espère que cela aidera quelqu'un!

21
akelec
  1. Vous avez besoin

    @ManagedBean(name="userBean")

  2. Assurez-vous que vous disposez de la méthode getUser().

  3. Le type de la méthode setUser() doit être void.

  4. Assurez-vous que la classe User a également setters et getters appropriés.

13
PM 77-1