FacesContext.getCurrentInstance在PrimeFaces Dialog Framework演示中返回null

时间:2015-11-02 18:09:49

标签: jsf jsf-2 primefaces nullpointerexception facescontext

我想在GlassFish 4.1和NetBeans 8.0.2上运行found here的ShowCase演示。我从展示中复制/粘贴代码。但是我在这一行遇到了NullPointerException:

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>

NataliaZoń帖子链接:Dialog Framework - Data 在这里,我阅读了有关推送服务器的内容:Primefaces JSF null returned from RequestContext.getCurrentInstance()

1 个答案:

答案 0 :(得分:0)

好的,首先,我的错误是我的代码很脏,因为我尝试了很多解决方案,开发Web应用程序,你必须比桌面应用程序上的东西干净2倍,因为这种类型的应用程序更敏感。

此外,在我阅读http://balusc.omnifaces.org/2006/06/communication-in-jsf.html#AccessingTheFacesContextInsideHttpServletOrFilter之后,我将学习servlet技术并尝试制作它。

PS:解决方案很简单,清理代码,将其添加到faces-config:

<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项目,并从showcase复制/粘贴所有代码,如果没有,则必须运行,重播。