2015-11-02 56 views
0

我想在GlassFish 4.1和NetBeans 8.0.2上運行Dialog Framework - Data的ShowCase演示。我從陳列複製/粘貼代碼。但是,我遇到了在這條線一個NullPointerException:FacesContext.getCurrentInstance在PrimeFaces對話框框架演示中返回null

FacesContext.getCurrentInstance().addMessage(null, message); 

錯誤代碼

java.lang.NullPointerException 
    at Beans.DFView.onCarChosen(CalculateBean.java:27) 

我讀,我必須有另一個servlet應用到客戶端的通信,但是怎麼我不能教程找到任何鏈接做到這一點。

我看,我必須將此代碼添加到faces-config.xml中:

<application> 
    <action-listener>org.primefaces.application.DialogActionListener</action-listener> 
    <navigation-handler>org.primefaces.application.DialogNavigationHandler</navigation-handler> 
    <view-handler>org.primefaces.application.DialogViewHandler</view-handler> 
</application> 

鏈接納塔利婭ZON後:Primefaces JSF null returned from RequestContext.getCurrentInstance() 在這裏,我讀到推送服務器成才:Developer.am

回答

0

確定爲第一,我的錯誤是我的代碼很髒,因爲我嘗試了很多解決方案,開發Web應用程序時,您必須比在桌面應用程序上做一些更清潔的事情,因爲這種類型的應用程序更加敏感。

此外,在我讀了http://balusc.omnifaces.org/2006/06/communication-in-jsf.html#AccessingTheFacesContextInsideHttpServletOrFilter之後,我將學習servlet技術並嘗試實現它。

PS:解決的辦法很簡單,清潔你的代碼,添加到您的面孔,配置:

<application> 
    <action-listener> 
     org.primefaces.application.DialogActionListener 
    </action-listener> 
    <navigation-handler> 
     org.primefaces.application.DialogNavigationHandler 
    </navigation-handler> 
    <view-handler> 
     org.primefaces.application.DialogViewHandler 
    </view-handler> 
</application> 

,它必須運行。 如果不是,則創建新的WebApplication項目,並複製/粘貼展示中的所有代碼,並且如果不是,則重播。