FacesContext.getCurrentInstance在PrimeFaces对话框架演示中返回null



我想在GlassFish 4.1和NetBeans 8.0.2上运行Dialog Framework-Data的ShowCase演示。我从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>

Natalia Zońpost链接:Primefaces JSF null从RequestContext.getCurrentInstance()返回在这里,我阅读了一些关于推送服务器的文章:Developer.am

首先,我的错误是我的代码很脏,因为我尝试了很多解决方案,开发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项目,并复制/粘贴showcase中的所有代码,它必须运行。如果没有,则重播。

相关内容

  • 没有找到相关文章

最新更新