2013-12-10 44 views
14

我有一個JSF 2.2和CDI的一個問題,我的managerbean不就解決了這個錯誤出現目標不可達,標識解析爲空在JSF 2.2

「VALUE =」 #{} userBean.user.name 「:Target Unreachable,標識符'userBean'解析爲空」

這是我的經理bean。

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

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

我的看法是:

<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> 
+0

你可能有'faces-config.xml'嗎? –

+2

你從哪些應用程序服務器上導入了這些註釋,並在哪些應用程序服務器上運行應用程序? – kolossus

+0

*確保您已經正確執行了全面清理,重建,重新部署* ...這是我從BalusC的帖子中省略的步驟,它解決了問題。 –

回答

7

我解決了這個問題。

我的Java版本是1.6,我發現使用1.7與CDI然而之後,我將Java版本更改爲1.7,並導入包javax.faces.bean.ManagedBean和一切工作。 @ PM77-1


8
  1. 你需要

    @ManagedBean(name="userBean")

  2. 請確保您有getUser()方法。

  3. setUser()的方法應該是void

  4. 確保User類別具有合適的settersgetters

+1

默認情況下,bean名稱將是userBean ...不需要設置它。 –

+0

@AlexandreLavoie - 你可以請參考官方文件說明這一事實嗎? –

+0

http://docs.oracle.com/javaee/6/api/javax/faces/bean/ManagedBean.html第二段 –

15

謝謝,我想分享我的這種異常的經驗。我的JSF 2.2應用程序與WildFly 8.0一起工作良好,但有一次,當我啓動服務器時,我得到了這個「Target Unreacheable」異常。實際上,JSF註釋或標籤沒有問題。

我唯一要做的就是清理項目。完成此操作後,我的應用程序再次正常工作。

我希望這會幫助別人!

+0

右鍵單擊服務器>清理並不適用於我。我不知道它是如何工作的,但我點擊了重啓項目(而不是服務器)。 – Ced

+2

跆拳道,清理工程爲我工作,豎起大拇指,很好 –

+0

它發生在我身上幾次,有時清理項目解決了它,有時重新啓動玻璃魚工作 – Fred

相關問題