Восстановление параметров запроса в компоненте @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

Ответы на вопрос(2)

Ваш ответ на вопрос