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>
これにより、現在のサイトがどのフォルダーにあるかに関係なく、インデックスへのすべてのリンクが 1 つの index.jsf に誘導されます。しかし、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">
同じエラーが表示されます。
すべてTomcat 7で実行されています。
http://forum.primefaces.org/viewtopic.php?f=3&t=30109&start=10で、エラーの検索にはあまり結果が含まれていませんでした私はMavenから取得しています。これは私のエラーではありません。
この問題を解決する方法のヒントはありますか?