La página de error definida en web.xml está incorporada en una página JSF parcialmente representada

Tengo lo siguiente definido en 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>

También estoy usando FullAjaxExceptionHandler de Omnifaces en faces-config.xml:

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

El FullAjaxExceptionHandler funciona bien para las llamadas ajax, pero cuando llego a una página directamente y aparece un error, comienza a mostrar la página a la que estaba intentando ir, pero no termina, y luego aparece la página de errores definida en la web. se procesa xml, lo que hace que la página de error se incruste después de una página parcialmente procesada.

(Estoy usando Glassfish 3.1.1 que tiene Mojarra JSF 2.1.3) Editar: ahora estoy usando Glassfish 3.1.2.2 y JSF 2.1.11

Editar: descubrió lo siguiente: la página donde se produce el error está usando plantillas (<ui:composition template="/shared/shared/commonLayout.xhtml">) Si lo cambio para que la página ya no use la plantilla, y luego simplemente agrego todo el código de la plantilla, entonces funciona bien.

Respuestas a la pregunta(1)

Su respuesta a la pregunta