EventBusFactory JSF1073

EventBusFactory JSF1073,jsf,primefaces,Jsf,Primefaces,我试图在JSF中实现逻辑,它接受参数,然后更新xhtml页面上的一些输出。以下都是从 XHTML: ViewParamResource: 当eventBus.publish(“/QR”,数据)时,我得到以下异常被称为。我理解空指针是什么,但我不理解为什么要发布(“/QR”,data);在这种情况下,是导致一个。我的语法有问题吗 FATAL: JSF1073: javax.el.ELException caught during processing of RENDER_RESPONSE 6

我试图在JSF中实现逻辑,它接受参数,然后更新xhtml页面上的一些输出。以下都是从

XHTML: ViewParamResource:
eventBus.publish(“/QR”,数据)时,我得到以下异常被称为。我理解空指针是什么,但我不理解为什么要发布(“/QR”,data);在这种情况下,是导致一个。我的语法有问题吗

FATAL:   JSF1073: javax.el.ELException caught during processing of RENDER_RESPONSE 6 : UIComponent-ClientId=, Message=/QR.xhtml @21,95 listener="#{viewParamPush.prerender}": java.lang.NullPointerException
FATAL:   /QR.xhtml @21,95 listener="#{viewParamPush.prerender}": java.lang.NullPointerException
javax.el.ELException: /QR.xhtml @21,95 listener="#{viewParamPush.prerender}": java.lang.NullPointerException 
为了能够调用脚本QR.xhtml?data=some data,我在url模式中添加了*.xhtml。。我假设这是必需的,以便将参数传递给脚本,尽管我不知道这是否会影响发布方法

<servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
        **<url-pattern>*.xhtml</url-pattern>**
    </servlet-mapping>

Facesservlet
/面孔/*
***.xhtml**
依赖项:

org.primefaces
素面
5.3
org.glassfish.extras
appserv rt
3.1.1
组织气氛
大气运行时间
2.4.4
爪哇
javaeewebapi
7
假如
com.marklogic
java客户端api
3.0.1
org.primefaces.themes
库比蒂诺
1.0.10  
org.primefaces.extensions
素数面扩展
4.0.0
com.helger
PHSchematron
3.0.1
com.lowagie
文字
2.1.7
弹跳船舱
bcprov-jdk14
弹跳船舱
bcmail-jdk14
org.bouncycastle
bctsp-jdk14
org.apache.poi
poi
3.9
org.apache.poi
poi ooxml
3.9
net.sf.barcode4j
条形码4J灯
2.1
net.glxn
qrgen
1.4

我以前遇到过这个错误。此故障的原因是大气版本

然后按如下方式使用:

pom.xml

     <dependency>
        <groupId>org.atmosphere</groupId>
        <artifactId>atmosphere-runtime</artifactId>
        <version>2.4.3</version>
    </dependency>
    <dependency>
        <groupId>org.atmosphere</groupId>
        <artifactId>atmosphere-runtime-native</artifactId>
        <version>2.4.3</version>
    </dependency>

组织气氛
大气运行时间
2.4.3
组织气氛
大气运行时本机
2.4.3
web.xml

<servlet>
    <servlet-name>Push Servlet</servlet-name>
    <servlet-class>org.primefaces.push.PushServlet</servlet-class>
    <init-param>
        <param-name>org.atmosphere.cpr.broadcasterCacheClass</param-name>
        <param-value>org.atmosphere.cache.UUIDBroadcasterCache</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    <async-supported>true</async-supported>
</servlet>
<servlet-mapping> 
    <servlet-name>Push Servlet</servlet-name> 
    <url-pattern>/primepush/*</url-pattern> 
</servlet-mapping>

推送Servlet
org.primefaces.push.PushServlet
org.atmosphere.cpr.class
org.atmosphere.cache.UUIDBroadcasterCache
1.
真的
推送Servlet
/primepush/*

这样你可以试试。这对我来说是可行的。

我以前遇到过这个错误。此故障的原因是大气版本

然后按如下方式使用:

pom.xml

     <dependency>
        <groupId>org.atmosphere</groupId>
        <artifactId>atmosphere-runtime</artifactId>
        <version>2.4.3</version>
    </dependency>
    <dependency>
        <groupId>org.atmosphere</groupId>
        <artifactId>atmosphere-runtime-native</artifactId>
        <version>2.4.3</version>
    </dependency>

组织气氛
大气运行时间
2.4.3
组织气氛
大气运行时本机
2.4.3
web.xml

<servlet>
    <servlet-name>Push Servlet</servlet-name>
    <servlet-class>org.primefaces.push.PushServlet</servlet-class>
    <init-param>
        <param-name>org.atmosphere.cpr.broadcasterCacheClass</param-name>
        <param-value>org.atmosphere.cache.UUIDBroadcasterCache</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    <async-supported>true</async-supported>
</servlet>
<servlet-mapping> 
    <servlet-name>Push Servlet</servlet-name> 
    <url-pattern>/primepush/*</url-pattern> 
</servlet-mapping>

推送Servlet
org.primefaces.push.PushServlet
org.atmosphere.cpr.class
org.atmosphere.cache.UUIDBroadcasterCache
1.
真的
推送Servlet
/primepush/*

这样你可以试试。这对我来说是可行的。

我理解空指针是什么,但我不理解为什么要发布(“/QR”,数据);在这种情况下,是导致一个。我的语法有问题吗?代码中有一个NPE(
{viewParamPush.prerender}
)。。。检查、调试等。。。。这就是“复制”的意义所在。然后可能会提出一个新问题,问为什么有些东西是空的……这一点非常清楚。NPE发生在调用eventBus.publish(“/QR”,data)时,正如我提到的,它在prerender方法中。据我所知,这是指p:socket中的通道=“/QR”。问题是我不明白为什么它会在这个例子中生成NPE。这对你来说很清楚,至少你认为它是。。。stacktrace会告诉你它发生在哪里。我们不是千里眼。共享stacktrace并指示行号是bean中的哪一行是最重要的。添加一个try-catch并找出答案。这就是复制品的意义所在。因此,这篇文章/问题仍然缺乏信息,因此是重复的。.很幸运,我理解空指针是什么,但我不理解为什么发布(“/QR”,数据);在这种情况下,是导致一个。我的语法有问题吗?代码中有一个NPE(
{viewParamPush.prerender}
)。。。检查、调试等。。。。这就是“复制”的意义所在。然后可能会提出一个新问题,问为什么有些东西是空的……这一点非常清楚。NPE发生在调用eventBus.publish(“/QR”,data)时,正如我提到的,它在prerender方法中。据我所知,这是指p:socket中的通道=“/QR”。问题是我不明白为什么它会在这个例子中生成NPE。这对你来说很清楚,至少你认为它是。。。stacktrace会告诉你它发生在哪里。我们不是千里眼。共享stacktrace并指示行号是bean中的哪一行是最重要的。添加一个try-catch并找出答案。这就是复制品的意义所在。因此,这篇文章/问题仍然缺乏信息,因此是重复的1.幸运的是,这个问题实际上是重复的。下次请把它标成这样。它可以保持堆栈溢出的清洁。TNX虽然我看到了相似之处,但这一点并没有完全回答我的问题。库尔特提出的配置不同,解决了我的问题。我不同意有这个问题和解决方案会造成任何伤害。的确如此
     <dependency>
        <groupId>org.atmosphere</groupId>
        <artifactId>atmosphere-runtime</artifactId>
        <version>2.4.3</version>
    </dependency>
    <dependency>
        <groupId>org.atmosphere</groupId>
        <artifactId>atmosphere-runtime-native</artifactId>
        <version>2.4.3</version>
    </dependency>
<servlet>
    <servlet-name>Push Servlet</servlet-name>
    <servlet-class>org.primefaces.push.PushServlet</servlet-class>
    <init-param>
        <param-name>org.atmosphere.cpr.broadcasterCacheClass</param-name>
        <param-value>org.atmosphere.cache.UUIDBroadcasterCache</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    <async-supported>true</async-supported>
</servlet>
<servlet-mapping> 
    <servlet-name>Push Servlet</servlet-name> 
    <url-pattern>/primepush/*</url-pattern> 
</servlet-mapping>