У меня есть приложение JSF 2.1 (MyFaces), работающее с использованием нескольких сессионных компонентов (все компоненты являются сессионными компонентами).Время ожидания определяется в файле web.xml следующим образом:
<session-config>
<session-timeout>3600</session-timeout>
</session-config>
, что соответствует 1 часу.
Проблема заключается в том, что при обычном использовании я получаю исключение No Saved View...
:
SEVERE: An exception occurred
javax.faces.application.ViewExpiredException: /mainPanel.jsfNo saved view state could be found for the view identifier: /mainPanel.jsf
at org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:128)
В настоящее время bean-компоненты определены в face-config.xml для совместимости с Eclipse ide.
Я не уверен, что может быть причиной этого, и это определенно не тайм-аут.Есть идеи, в чем может быть проблема?
Если есть какая-либо дополнительная информация, которую я могу предоставить, дайте мне знать ..
Спасибо!
PS - тега jsf-2.1
нет
Обновление 1 Я только что подумал, что 60 означало 1 минуту!:-) Это может быть проблемой.Я закрою вопрос, если получится так
Обновление 2 Это было не так ... Еще немного информации, которая может быть полезна:
- Хотя ошибка относится именно к
/mainPanel.jsf
, на самом деле это композиция из xhtml, использующая <ui:include>
- . Это происходит только тогда, когда я щелкаю одну конкретную точку в приложении.Код, который запускается в результате щелчка:
Jquery
Код:
$(document).ready(function() {
$("#someTable tr:not(:first)").click(function(event) {
var someValue = $(this).find("input:hidden").val();
$('#currently_selected').val(someValue );
$('#currently_selected').change();
});
});
JSF 2
Код:
<h:form prependId="false" class="hide">
<h:inputText value="#{someBean.someBeanValue}">
<f:ajax event="change" listener="#{someBean.someBeanValueChanged}" render=":anotherForm"
onevent="ifCompleteSetWindowHash" />
</h:inputText>
</h:form>