Восстановление параметров запроса в компоненте @ViewScoped после истечения сеанса
У меня есть страница, которая имеет настройки, как показано ниже, как URLmy.page.com/table.xhtml?id=123
:
+----------------------------------------------+
|Meta information |
|----------------------------------------------|
| Search Fields Submit btn |
|----------------------------------------------|
| |
| |
| Big p:dataTable |
| with rowExpansion |
| |
|----------------------------------------------|
| Pager |
+----------------------------------------------+
id=123
параметр запроса, управляющий содержимым таблицы результатов. Все действия только перезагружают таблицу данных, используяAJAX
.
id
загружается через это:
<f:metadata>
<o:viewParam name="id" value="#{dataTable.id}" />
<f:viewAction action="#{dataTable.initialize}" />
</f:metadata>
Это все работает нормально, пока сессия не истекает. На данный момент ничего не работает. Я не могу получить данные, так как у меня больше нет доступа кid
в вопросе и призыв кDAO
у классов, извлекающих данные, этого нет.
От "больше не имеют доступа кid
" Я имею в виду, что :
FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("id")
возвращаетсяnull
, Так жеint id
из моего боба (который загружается черезo:viewParam
вf:metadata
постигла та же участь.
Я знаю, что есть способы пойматьViewExpiredException
, но это не то, что я хочу. Мне нужна страница, чтобы просто перезагрузить все значения с помощью параметра запроса (в этом случаеid
) без ведома пользователя.
Мне (кажется мне) нужна@ViewScoped
управление компонентом для управления этой сложной таблицей, всеми параметрами и т. д.
Я в растерянности в отношении этого. Я пытался построить свой собственныйViewHandler
чтобы попытаться заставить его просто перестроить (имитировать обновление) страницы, и попытался использоватьPrimeFaces
ajaxExceptionHandler
среди других решений. Но все они получают ошибку и отображают ее. Я просто хочу получить доступ к моему параметру запросаmy.page.com/table.xhtml
?id=123
из бобов.
Любая помощь будет оценена.
Я работаю на:
Tomcat 7Моджарра 2.2.6Omnifaces 1.8.1Primefaces 5.0