將PrimeFaces和faces-config一起使用時,出現NullPointerException。在添加faces-config.xml之前,一切正常。之後,我加入faces-config.xml中改變導航,我呼籲每一個頁面的時候出現以下錯誤:當使用faces-config和PrimeFaces 4.0時出現NullPointerException
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);
}
所以這可以」 t是錯誤來源。在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>
這應該引導每一個環節,以索引一個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人似乎有一個老版本的PrimeFaces 4.0同樣的問題,但我得到它來自maven,這不可能是我的錯誤。
有沒有人提示如何解決這個問題?
我看到的是,你有jsf 1.2版本。我不確定PrimeFaces 4.0是否支持2.x之前的JSF版本 –
我確認,PrimeFaces 4在JSF 2.2之前不起作用。 – LaurentG
感謝您的諮詢!將版本更改爲2.0做到了:) –