При совместном использовании PrimeFaces и Faces-config я получаю исключение NullPointerException. До добавления Faces-config.xml все работало нормально. После того, как я добавил Faces-config.xml для изменения навигации, я получил следующую ошибку при вызове каждой страницы:
java.lang.NullPointerException
org.primefaces.context.PrimeFacesContext.release(PrimeFacesContext.java:26)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:612)
org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:98)
de.mypackage.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:19)
CharacterEncodingFilter просто обеспечивает использование UTF-8:
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
chain.doFilter(request, response);
}
Так что это не может быть источником ошибки. Faces-config.xml содержит следующий текст:
<?xml version="1.0" encoding="UTF-8"?>
<faces-config xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
version="1.2">
<navigation-rule>
<from-view-id>*</from-view-id>
<navigation-case>
<from-outcome>index</from-outcome>
<to-view-id>/index.jsf</to-view-id>
</navigation-case>
</navigation-rule>
This should direct every link to index to one index.jsf, not regarding in which folder the current site is. But if the faces-config.xml is just like this:
<?xml version="1.0" encoding="UTF-8"?>
<faces-config xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
version="1.2">
the same error appears.
Все работает на Tomcat 7.
Поиск ошибки дал мало результатов, в http://forum.primefaces.org/viewtopic.php?f=3&t=30109&start=10 похоже, у кого-то такая же проблема со старым выпуском PrimeFaces 4.0, но, как я получаю от maven, это не может быть моя ошибка.
Кто-нибудь подскажет, как решить эту проблему?