В моем проекте JSF я пытаюсь зарегистрировать классы java с аннотациями JSF 2.0 вместо регистрации классов в файле Face-config.xml.
Когда я регистрирую классы в файле face-config.xml, все работает.Однако, когда я регистрирую классы с помощью аннотаций, я получаю следующую ошибку в журнале сервера:
WARNING: ApplicationDispatcher[/de.vogella.jsf.card2] PWC1231: Servlet.service() for servlet jsp threw exception
javax.el.PropertyNotFoundException: Target Unreachable, identifier 'cardController' resolved to null
at com.sun.el.parser.AstValue.getTarget(AstValue.java:131)
...
WARNING: StandardWrapperValve[Faces Servlet]: PWC1406: Servlet.service() for servlet Faces Servlet threw exception
javax.el.PropertyNotFoundException: Target Unreachable, identifier 'cardController' resolved to null
at com.sun.el.parser.AstValue.getTarget(AstValue.java:131)
...
Я новичок в этих технологиях, поэтому любая помощь очень ценится!
Ниже приведены мои настройки, когда что-то не работает.
CardController.java
@ManagedBean
@SessionScoped
public class CardController {
@ManagedProperty(value="#{card}")
private Card card;
...
public Card getCard() {
return card;
}
public void setCard(Card card) {
this.card = card;
}
}
Card.java
@ManagedBean
public class Card {
...
}
face-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<faces-config
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
version="2.0">
</faces-config>
Я использую JSF 2.0 с Mojarra 2.0.3-FCS и запускаю все на Glassfish 3.1, интегрированном с Eclipse Heliosи используя JDK1.6.0_26.
К вашему сведению, урок, из которого этот проект получен, - http://www.vogella.de/articles/JavaServerFaces/article.html#installation Ларса Фогеля.