Мне интересно, существует ли общий шаблон для следующего сценария.
Допустим, у меня есть одна страница JSF, подкрепленная одним компонентом области запроса.Я хочу получить все строки данных из таблицы базы данных, когда пользователь заходит на эту страницу.Эта же страница JSF содержит форму для предоставления критериев запроса.Когда пользователь предоставляет критерии запроса и отправляет форму, я хочу также отобразить результат на той же странице.
Подходящим местом для извлечения всех строк при вводе страницы является метод @PostConstruct.Это хорошее место, чтобы сделать это, поскольку дополнительные (введенные) параметры запроса уже доступны здесь и могут использоваться в запросе.Однако параметры, отправленные из формы, пока недоступны.К ним можно получить доступ в методе действия.
Если пользователь запрашивает таблицу базы данных, используя критерии формы, база данных будет запрашиваться дважды в этом случае.Бин в области запроса будет воссоздан, и метод @PostConstruct, извлекающий все строки, будет вызван до того, как метод действия формы извлечет то, что хочет пользователь.
Конечно, я мог бы перенаправить результат формы на другую страницу JSF, поддерживаемуюдругой компонент с запросом БД только в методе действия.Но есть ли способ выполнить выборку только того, что необходимо с одной страницей JSF и одним управляемым компонентом?