Управляемый компонент JSF 2 не создается
У меня возникла эта проблема в этом примере проекта JSF, который я создал. Управляемые бобы не создаются. Класс бобов:
@ManagedBean(name="loginMB")
@RequestScoped
public class LoginMB extends AbstractMB {
private static final long serialVersionUID = -8523135776442886000L;
@ManagedProperty("#{userMB}")
private UserMB userMB;
//getters and setters
public String login() {
UserSupport userSupport = new UserSupportImpl();
User user = userSupport.isValidLogin(email, password);
if (user != null) {
getUserMB().setUser(user);
FacesContext context = FacesContext.getCurrentInstance();
HttpServletRequest request = (HttpServletRequest) context
.getExternalContext().getRequest();
request.getSession().setAttribute("user", user);
return "loggedIn";
//return "/pages/protected/index.xhtml";
}
displayErrorMessageToUser("Check your email/password");
return null;
}
}
Аннотация ManagedBean и RequestScope были импортированы из
импорт javax.faces.bean. *;
Вот как я использовал выше боб,
<p>#{bundle.loginHello}</p>
Другой управляемый боб
@SessionScoped
@ManagedBean(name = "userMB")
public class UserMB implements Serializable {
public static final String INJECTION_NAME = "#{userMB}";
private static final long serialVersionUID = 1L;
private User user;
.......
}
Исключение:
javax.el.PropertyNotFoundException: /login.xhtml @14,83 value="#{loginMB.email}": Target Unreachable, identifier 'loginMB' resolved to null
at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:100)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:95)
Лица-config.xml
messages
bundle
messages
/login.xhtml
#{loginMB.login}
loggedIn
/index.xhtml