Порядок выполнения метода при загрузке страницы JSF - PullRequest
0 голосов
/ 28 июля 2011

У меня есть 2 контроллера.

FirstController

Один отправится в БД и подсчитает (*), чтобы увидеть, сколько сообщений непрочитано.

SecondController

Другой откроет сообщение, а когда оно откроется, если оно не прочитано, оно будет помечено как прочитанное.


Проблема, с которой я сталкиваюсь, заключается в том, что когда я открываю страницу JSF, она выполняет сначала первый контроллер, а затем второй.Таким образом, это не обновляет количество сообщений, которые я до сих пор не прочитал.

Можно ли установить порядок выполнения методов при открытии страницы?

Страница выглядит как левое меню, чтосодержит сколько непрочитанных сообщений, а в центре откроется сообщение.

Как мне это сделать?

1 Ответ

1 голос
/ 28 июля 2011

Вы точно не дали никаких подробностей о том, как "JSF выполняет первый контроллер".Это с помощью обработчика preRenderViewEvent, метода @PostConstuct или как?

По вашему описанию проблемы, похоже, что порядок уже оказался правильным?Вы говорите, что первый контроллер выполнен, и это FirstController проверяет непрочитанные сообщения.Так что сообщения «обновляются».Но затем вы говорите, что он не обновляет непрочитанные сообщения, так что же это?

В любом случае, единственное представление JSF (страница) лучше всего поддерживается одним компонентом поддержки.Этот единственный компонент EJB управляет вызовами различных служб (например, EJB-компонентов) и подготавливает все необходимые данные.Затем представление связывается с этим базовым компонентом только для извлечения его данных.

При такой настройке вы вообще не будете запускать никаких проблем с порядком выполнения.

...