目标不可访问,标识符在JSF 2.2中解析为null
我的JSF2.2和CDI有问题,我的managerbean没有解决,出现了这个错误 value=“#{userBean.user.name}”:无法访问目标,标识符“userBean”解析为null 这是我的经理比恩。 我的看法是:目标不可访问,标识符在JSF 2.2中解析为null,jsf,jsf-2.2,managed-bean,Jsf,Jsf 2.2,Managed Bean,我的JSF2.2和CDI有问题,我的managerbean没有解决,出现了这个错误 value=“#{userBean.user.name}”:无法访问目标,标识符“userBean”解析为null 这是我的经理比恩。 我的看法是: <h:form id="login-form"> <h:outputText value="User"/> <h:inputText value="#{userBean.user.name}" id="username
<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>
@ManagedBean(name=“userBean”)
getUser()
方法setUser()
方法的类型应为void
User
类也有适当的setter
和getter
我想与大家分享我对这一例外的经历。我的JSF2.2应用程序在WildFly 8.0上运行良好,但有一次,当我启动服务器时,我遇到了这个“目标不可检查”的异常。实际上,JSF注释或标记没有问题 我唯一要做的就是清理这个项目。完成此操作后,我的应用程序再次正常工作
我希望这能帮助别人 默认情况下,bean名称将是userBean。。。不需要设置它。@AlexandreLavoie-你能让我参考官方文件来说明这个事实吗?第二段是的,setUser的类型是void,很抱歉我写这篇文章的时候错了。当我放置“(name=“userBean”)”时,会显示给我。请确保您正在从
javax.faces.bean
package导入此批注。您是否可能有faces config.xml
?您正在从哪个应用服务器导入这些批注,以及在哪个应用服务器上运行您的应用程序?确保您已正确执行完全清除,重建,重新部署。。。这是我在BalusC的帖子中省略的步骤,它解决了这个问题。安装两个不同的java版本也会导致这个错误。我遇到了同样的问题,并通过卸载其中一个得到了解决。对我来说,这个错误的发生是因为存在1个jar。一行一行地删除/重新添加每个jar到类中,才能确定我右键单击server>clean不起作用。我不知道是什么让它工作,但我在项目上单击了重新启动(而不是服务器)。这在我身上发生过几次,有时清理项目解决了它,有时重新启动glassfish Worked也有同样的问题,对我来说,重新启动和清理都不起作用。但是在重新启动Eclipse之后,一切恢复正常。我的问题是一样的,只是我必须停止服务器,清理服务器并重新启动它。我可以确认,如果这个异常突然出现,而您的项目在前一天正常工作时,可能是开发人员机器的内存不足。如果您反复将计算机关闭到挂起或休眠模式,并且长时间(如数周)不重新启动或关机,则可能会发生这种情况。最好在断电的情况下重新启动,这会有所帮助。如果您在有状态VM上工作,同样的情况也是有效的。操作系统和IDE的类型也在其中发挥作用
<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>