web-dev-qa-db-de.com

Ziel nicht erreichbar, Bezeichner in JSF 2.2 auf null aufgelöst

Ich habe ein Problem mit JSF 2.2 und CDI, mein Managerbean ist nicht gelöst und dieser Fehler tritt auf

"value =" # {userBean.user.name} ": Ziel nicht erreichbar, Bezeichner 'userBean' in null aufgelöst"

Das ist mein Manager Bean.

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

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

Meine Ansicht ist:

<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

Ich habe dieses Problem gelöst.

Meine Java Version war die 1.6 und ich habe festgestellt, dass 1.7 mit CDI verwendet wurde. Danach habe ich die Java Version auf 1.7 geändert und das Paket javax.faces importiert .bean.ManagedBean und alles hat funktioniert.

Vielen Dank @ PM77-1


10
SaXeTz

Ich möchte meine Erfahrungen mit dieser Ausnahme teilen. Meine JSF 2.2-Anwendung funktionierte gut mit WildFly 8.0, aber als ich einmal den Server startete, bekam ich dies "Ziel nicht erreichbar" Ausnahme. Tatsächlich gab es kein Problem mit JSF-Anmerkungen oder -Tags.

Ich musste nur noch tun das Projekt bereinigen. Nach diesem Vorgang funktioniert meine App wieder einwandfrei.

Ich hoffe das hilft jemandem!

21
akelec
  1. Du brauchst

    @ManagedBean(name="userBean")

  2. Stellen Sie sicher, dass Sie die Methode getUser() haben.

  3. Der Typ der setUser() -Methode sollte void sein.

  4. Stellen Sie sicher, dass die Klasse User auch über die richtigen Klassen setters und getters verfügt.

13
PM 77-1