Versão atual:

javax.faces.application.ViewExpiredException: viewId:/login.xhtml

Boa noite, criei um filter login para evitar o acesso direto ao sistema sem fazer login, até aí está funcionando bem. Logado, está redirecionando quando o usuário faz alguma ação.

Mas o problema é no login que tbm está com timeout, após 15 minutos na tela de login tento fazer login novamente e está dando esse erro:

javax.faces.application.ViewExpiredException: viewId:/login.xhtml - A exibição de /login.xhtml não pôde ser restaurada.

até agora nao consegui achar nem uma maneira de tratar essa exception.

como está meu web.xml

    <display-name>SINOMP</display-name>  
    <welcome-file-list>  
        <welcome-file>login.xhtml</welcome-file>  
    </welcome-file-list>  
    <servlet>  
        <servlet-name>Faces Servlet</servlet-name>  
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>  
        <load-on-startup>1</load-on-startup>  
    </servlet>  
    <servlet-mapping>  
        <servlet-name>Faces Servlet</servlet-name>  
        <url-pattern>*.xhtml</url-pattern>  
    </servlet-mapping> 

    <filter>
        <filter-name>LoginFilter</filter-name>
        <filter-class>project.filters.loginFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>LoginFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <session-config>
        <session-timeout>15</session-timeout>
    </session-config>

criei um pages.xml para tentar redirecionar mas nada acontece:

<?xml version="1.0" encoding="UTF-8"?>
<pages>
    <exception class="javax.persistence.EntityNotFoundException">
        <http-error error-code="404"/>
    </exception>

    <exception class="javax.persistence.PersistenceException">
        <end-conversation/>
        <redirect view-id="/error.xhtml">
            <message>Database access failed</message>
        </redirect>
    </exception>

    <exception>
        <end-conversation/>
        <redirect view-id="/error.xhtml">
            <message>Unexpected failure</message>
        </redirect>
    </exception>   

    <exception class="javax.faces.application.ViewExpiredException">  
        <redirect view-id="index.xhtml">  
            <message>View expired, login again!</message>  
        </redirect>  
    </exception>  

</pages>

alguém pode me ajudar?

Obrigado

Versão(1):

Ver a versão formatada

javax.faces.application.ViewExpiredException: viewId:/login.xhtml

  • criado 07 de abr de 2015

Comentário

new question