jsf-2primefacesspring-bootviewexpiredexception

Primefaces PrimeExceptionHandlerELResolver within Spring Boot


i have a web application with Spring Boot 1.2.4(web,security,data-jpa), Primefaces 5.2 , JSF 2.2 (Mojarra 2.2.11) without any xml config file. Only faces-config.xml for spring bean el resolver :

<?xml version='1.0' encoding='UTF-8'?>
<faces-config version="2.2"
          xmlns="http://xmlns.jcp.org/xml/ns/javaee"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd">
<application>
    <el-resolver>
        org.springframework.web.jsf.el.SpringBeanFacesELResolver
    </el-resolver>

    <!--el-resolver>
      org.primefaces.application.exceptionhandler.PrimeExceptionHandlerELResolver
    </el-resolver-->
</application>
<!--factory>
    <exception-handler-factory>
       org.primefaces.application.exceptionhandler.PrimeExceptionHandlerFactory
    </exception-handler-factory>
</factory-->
</faces-config>

and all work fine. Now, i want to handle the ViewExpiredException with primefaces exception handler : http://www.primefaces.org/docs/api/5.2/org/primefaces/application/exceptionhandler/PrimeExceptionHandlerELResolver.html

My question is : can i register another el-resolver in faces-config.xml ? and if no, how can i fix the problem ?

thanks in advance.

EDIT :

i decide to use another aproche. many thanks to Session Timeout handling for Ajax calls


Solution

  • You can define multiple el-resolver in application node as shown below:

    <application>
        <el-resolver>
            org.springframework.web.jsf.el.SpringBeanFacesELResolver
        </el-resolver>
        <el-resolver>
            org.primefaces.application.exceptionhandler.PrimeExceptionHandlerELResolver
        </el-resolver>
    </application>