Я пытаюсь использовать компонентный компонент в JSF2, но по какой-то причине он всегда null
в моем запросе. Вот код, я использую:@ManagedBean (name = "foo") недоступно по его имени в EL # {foo}
Применения области действия боба:
@ManagedBean(eager=true, name="applicationTracking")
@ApplicationScoped
public class ApplicationTracking implements Serializable {
private static final long serialVersionUID = 4536466449079922778L;
public ApplicationTracking() {
System.out.println("ApplicationTracking constructed");
}
}
Запроса контекстного боб:
@ManagedBean
@RequestScoped
public class SearchResults implements Serializable {
private static final long serialVersionUID = 4331629908101406406L;
@ManagedProperty("#{applicationTracking}")
private ApplicationTracking appTracking;
public ApplicationTracking getAppTracking() {
return appTracking;
}
public void setAppTracking(ApplicationTracking appTrack) {
this.appTracking = appTrack;
}
@PostConstruct
public void init() {
System.out.println("SearchResults.init CALLED, appTracking = " + appTracking);
}
}
По всему, что я вижу на форумах это должно работать без любые другие конфигурации. Когда я запускаю сервер (Tomcat), я вижу конструктор ApplicationTracking
и вызываемые вызовы init
.
Но в моем SearchResults
компоненте распечатку в PostConstruct
всегда нуль:
SearchResults.init CALLED, appTracking = null
Что мне не хватает?
Какой пакет вы импортировали '@ ApplicationScoped'? – BalusC
javax.faces.bean – Eddy
У вас один и тот же компонент перерегистрирован в 'faces-config.xml' на другое имя? – BalusC