0

我想运行Dialog Framework 的 ShowCase 演示 - GlassFish 4.1 和 NetBeans 8.0.2 上的数据。我从展示中复制/粘贴代码。但我在这一行遇到了 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ń 帖子:从 RequestContext.getCurrentInstance() 返回的 Primefaces JSF null 在这里我读到一些关于推送服务器的内容:Developer.am

4

1 回答 1

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

于 2015-11-05T08:38:06.553 回答