【发布时间】:2021-04-24 21:08:24
【问题描述】:
在 Primefaces 从 6.0 升级到 8.0 以及 WildFly 升级以使用 JakartaEE 之后,我的 ajax 事件监听器不再被调用。但是 onsuccess 和 oncomplete JS 被执行。
我的 XHTML:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:cc="http://xmlns.jcp.org/jsf/composite"
xmlns:p="http://primefaces.org/ui"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:pe="http://primefaces.org/ui/extensions">
<h:body>
<ui:composition template="/WEB-INF/template.xhtml">
<ui:define name="container">
<p:graphicImage id="myImage" library="projectLib" name="logo.png"/>
<pe:imageAreaSelect id="areaSelect" for="myImage" handles="true">
<p:ajax event="selectEnd" listener="#{testBean.selectEndListener}" oncomplete="console.log('complete')" onsuccess="console.log('success')"/>
</pe:imageAreaSelect>
</ui:define>
</ui:composition>
</h:body>
</html>
我的豆子:
@Named
@ViewScoped
public class TestBean implements Serializable {
public void selectEndListener(final ImageAreaSelectEvent e) {
// do something
}
}
在服务器日志中没有发现异常。在我的浏览器控制台中,我看到以下警告:
[弃用] 主线程上的同步 XMLHttpRequest 已弃用,因为它会对最终用户的体验产生不利影响。如需更多帮助,请查看https://xhr.spec.whatwg.org/
谁能告诉我怎么回事?
- Primefaces:8.0
- Primefaces 扩展:8.0.4
- JSF:jboss-jsf-api_2.3_spec
- WildFly:21.0.2.Final
【问题讨论】:
-
让我调查一下它可能是一个错误。
-
更新:看起来 listener 属性被完全忽略了。如果我在侦听器 EL 中填写一个不存在的方法,则不会引发异常并且页面照常呈现。即使我在 EL 中填写一些随机字符也不会引发异常,只要它在 #{} 之间
-
什么版本的 Wilfly,因为我在本地使用 Jetty 进行了测试,并且一切正常。我知道我在最新的 Wildfly 21 中看到了一些问题,所以我会支持 WildFly 18
-
直到 PrimeFaces 和 PFE 在 10.0.0 中发布其 JARS 的“jakarta”版本,您将无法使用 EE9 规范,它将所有内容从
javax包更改为jakarta包。跨度> -
我的复制器确实缺少表格。但在我的项目中,我仍然无法让它工作。 graphicsImage 和 imageAreaSelect 位于一个 outputPanel 中,它位于 h:form 中
标签: jsf primefaces wildfly javabeans primefaces-extensions