JSF 2.2およびCDIに問題があり、managerbeanが解決されず、このエラーが表示されます
「value = "#{userBean.user.name}」:ターゲットに到達できません。識別子「userBean」がnullに解決されました」
これは私のマネージャービーンです。
@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>
私のJavaバージョンは1.6であり、CDIで1.7を使用していることがわかりましたが、その後、Javaバージョンを1.7に変更し、パッケージjavax.facesをインポートします.bean.ManagedBeanおよびすべてが機能しました。
ありがとう@ PM77-1
この例外に関する私の経験を共有したいと思います。私のJSF 2.2アプリケーションはWildFly 8.0で正常に機能しましたが、サーバーを起動したときにこれを取得しました 「到達不能なターゲット」 例外。実際、JSFの注釈やタグには問題はありませんでした。
私がしなければならなかったことは プロジェクトの掃除。この操作の後、アプリは再び正常に動作します。
これが誰かを助けることを願っています!
あなたが必要
@ManagedBean(name="userBean")
getUser()
メソッドがあることを確認してください。
setUser()
メソッドのタイプはvoid
でなければなりません。
User
クラスに適切なsetters
およびgetters
も含まれていることを確認してください。