Obiekt nie obsługuje tej właściwości ani metody z kombinacją limitu czasu dla primefaces
Ustawienia: JSF, PrimeFaces 3.2, Omnifaces 1.1, JBoss AS 7.1.1, Final, Mojarra 2.1.7
Mam prostą stronę (wymienioną poniżej) i skonfigurowałem omnifaces do obsługi ViewExpiredExceptions dla wywołań ajax. Gdy wygaśnie wymieniona poniżej strona i kliknę przycisk primefaces (ajax) na IE8, pojawi się strona błędu, która wygasła, ale z następującym błędem javascript:
Wiadomość: Obiekt nie obsługuje tej właściwości lub metody, Linia: 1 Char: 5500 Kod: 0 URI: bla bla / mywebapp / javax.faces.resource / primefaces.js.xhtml? Ln = primefaces & v = 3.2
Wydaje się, że nie powoduje błędu w innych przeglądarkach.
Moja strona (home.xhtml):
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
template="/WEB-INF/templates/layout.xhtml">
<ui:define name="body">
<h:form id="form_search">
<p:commandButton id="idbtn1"
actionListener="#{bean.doSomething}"
value="Do something (ajax)!">
</p:commandButton>
<p:commandButton id="idbtn2" ajax="false"
actionListener="#{bean.doSomething}"
value="Do something!">
</p:commandButton>
</h:form>
</ui:define>
</ui:composition>
Strona błędu limitu czasu: expired.xhtml
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
template="/WEB-INF/templates/layout.xhtml">
<ui:define name="body">
Your session has timed out.
</ui:define>
</ui:composition>
Układ szablonu.xhtml
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets">
<f:view contentType="text/html">
<h:head>
<f:facet name="first">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Cache-Control" content="no-cache, no-store, must- revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
</f:facet>
<base href="${facesContext.externalContext.requestContextPath}" />
</h:head>
<h:body>
<ui:insert name="body"></ui:insert>
</h:body>
</f:view>
</html>
Web.xml ma między innymi:
<error-page>
<exception-type>javax.faces.application.ViewExpiredException</exception-type>
<location>/WEB-INF/errorpages/expired.xhtml</location>
</error-page>
<filter>
<filter-name>facesExceptionFilter</filter-name>
<filter-class>org.omnifaces.filter.FacesExceptionFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>facesExceptionFilter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
Po kliknięciu drugiego przycisku po wygaśnięciu strona wygasła wyświetla się bez błędów javascript.
Jakieś pomysły?