Я использую JSF 2.0 с GlassFish 3.0.
У меня есть следующий управляемый компонент:
@ManagedBean
@RequestScoped
public class OverviewController{
private List<Event> eventList;
@PostConstruct
public void init(){
System.out.println("=> OverviewController - init() - enter");
System.out.println("=< OverviewController - init() - exit");
}
}
Из файла overview.xhtml я вызываю различные атрибуты или методы из моего OverviewController.
<ui:repeat var="event" value="#{overviewController.eventList}">
...
</ui:repeat>
Все работает нормально, но проблема в файле журнала:
INFO: Enter : RESTORE_VIEW 1
INFO: Exit : RESTORE_VIEW 1
INFO: Enter : RENDER_RESPONSE 6
INFO: => OverviewController - init() - enter
INFO: => Overview Controller - updateSelectedTab() - enter
INFO: =< Overview Controller - updateSelectedTab() - exit
INFO: =< OverviewController - init() - exit
INFO: => OverviewController - init() - enter
INFO: => Overview Controller - updateSelectedTab() - enter
INFO: =< Overview Controller - updateSelectedTab() - exit
INFO: =< OverviewController - init() - exit
INFO: Exit : RENDER_RESPONSE 6
Как видите, метод init () вызывается дважды в одном запросе без всякой причины. Насколько мне известно, любой метод, помеченный PostConstruct , вызывается один раз при каждом запросе. Я ошибаюсь?
РЕДАКТИРОВАТЬ: На странице не используется AJAX. Количество запросов я проверил с помощью firebug. Сделано дерево запросов: