2015-11-02 55 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项目,并复制/粘贴展示中的所有代码,并且如果不是,则重播。