Страница ошибки, определенная в web.xml, встроена в частично обработанную страницу JSF

У меня есть следующее, определенное в web.xml:

<error-page>
    <exception-type>java.lang.Throwable</exception-type>
    <location>/shared/errors/DefaultErrorPage.xhtml</location>
</error-page>
<error-page>
    <exception-type>javax.faces.application.ViewExpiredException</exception-type>
    <location>/shared/errors/ViewExpired.xhtml</location>
</error-page>

Я также использую FullAjaxExceptionHandler от Omnifaces в лицах -config.xml:

<factory>
    <exception-handler-factory>
        org.omnifaces.exceptionhandler.FullAjaxExceptionHandlerFactory
    </exception-handler-factory>
</factory>

FullAjaxExceptionHandler отлично работает для вызовов ajax, но когда я напрямую нажимаю на страницу и возникает ошибка, он начинает отображать страницу, на которую я пытался перейти, но не заканчивает, а затем страница ошибки, определенная в web. xml отображается, что приводит к тому, что страница с ошибкой внедряется после частично отображаемой страницы.

(Я использую Glassfish 3.1.1 с Mojarra JSF 2.1.3 )Edit :, теперь использую Glassfish 3.1.2.2 и JSF 2.1.11

Изменить :Обнаружено следующее :Страница, на которой возникает ошибка, использует шаблоны(<ui:composition template="/shared/shared/commonLayout.xhtml">)Если я изменю его так, чтобы страница больше не использовала шаблон, а затем просто добавлю весь код из шаблона, тогда он будет работать нормально.

5
задан jc12 1 February 2013 в 16:45
поделиться