2013-12-10 46 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

相关问题