问题标签 [jsf-2.3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
3177 浏览

deprecated - JSF 2.3、CDI 2.0 | com.sun.faces.flow.FlowDiscoveryCDIHelper 类已从 CDI 1.1 中弃用

在带有 WELD 3 的 Tomcat 8.5 上为 JSF 2.3、CDI 2 配置了一个 maven webapp。

无法弄清楚,如何解决此警告消息:

警告 ojwBootstrap [addAnnotatedType:118] WELD-000146:用于类 com.sun.faces.flow.FlowDiscoveryCDIHelper 的 BeforeBeanDiscovery.addAnnotatedType(AnnotatedType) 已从 CDI 1.1 中弃用!

pom.xml

如此处所述: https ://docs.oracle.com/javaee/7/api/javax/enterprise/inject/spi/BeforeBeanDiscovery.html#addAnnotatedType-javax.enterprise.inject.spi.AnnotatedType-java.lang.String-

此方法已从 CDI 1.1 中弃用,应改为使用 addAnnotatedType(AnnotatedType, String)。

搜索此警告消息将我带到: https ://github.com/javaee/glassfish/issues/22094

这有点不同,因为他没有注入 FacesContext,但堆栈跟踪在其他条目中包含与我一样的消息。

如那里所述,我现在使用“ConfigurationBean.java”来使用真正的 JSF 2.3 并将 [beans.xml] 设置为 [bean-discovery-mode="all"]。但由于这仅适用于@Inject FacesContext,因此警告消息仍然存在。

有人知道如何解决这个问题吗?

0 投票
0 回答
153 浏览

wildfly - 如何将 JSF 2.3 与 wildfly-swarm / thorntail 一起使用?

到目前为止我发现了什么:

如果使用 wildfly 12,则可以通过启用 ee8.preview.mode 来使用 JSF 2.3,从那时起您将拥有 JSF 2.3 附带的 Java EE 8。

当前最新版本的wildfly-swarm (thorntail) 2018.5.0 使用wildfly 11,Java EE 7 自带,JSF 2.2.13 自带。

所以我的问题是,如何使用 wildfly-swarm/thorntail 启用 JSF 2.3?或者如果这是不可能的,那么wildfly-swarm/thorntail 什么时候会与wildfly 12 捆绑在一起,以便它也与JSF 2.3 捆绑在一起?

0 投票
1 回答
809 浏览

spring - Websocket CdiUtils NPE 使用

此应用程序在 TC7、Spring 3 和 JSF 2.2 中运行良好,但我想添加 JSF 2.3 的推送功能,所以在一些简单的初始问题后升级到 TC 9.0.8、Spring 5.0.5 和 JSF 2.3.0由于升级,该应用程序部署良好,Spring Security 工作(我可以登录),但随后出现此错误:

我的调试器显示在 CdiUtils:230 上 beanManager 为空,我怀疑但无法确认 FacesContext 在 CdiUtils:213 上为空。我怀疑这是由于同时拥有多个容器(Tomcat、CDI、Spring 和 JSF)造成的混乱。我确实喜欢 Spring Security、RestTemplate 和 JdbcTemplate,所以我有点不愿意放弃 Spring。这是我的推豆。我把所有的注释都扔给了它:

发送消息的 Facelet 代码:

JS websocket监听器:

用于显示消息的 JSF websocket 标记和代码:

任何想法如何解决这一问题?

0 投票
0 回答
240 浏览

jsf - JSF 2.3 f:websocket java.lang.AbstractMethodError

我在渲染 f:websocket 组件时遇到问题。服务器是Tomcat v8.5。

关于链接中的说明:

http://balusc.omnifaces.org/2013/10/how-to-install-cdi-in-tomcat.html

如何在 Spring 应用程序中使用 Maven 将 JSF 2.2 更新到 JSF 2.3

https://blog.payara.fish/jsf-2.3-the-websocket-quickstart-under-payara-server

Maven依赖项是:

这是 test.xhtml:

当我加载页面时出现错误:

java.lang.AbstractMethodError 在 javax.faces.application.ViewHandlerWrapper.getWebsocketURL(ViewHandlerWrapper.java:328) 在 javax.faces.application.ViewHandlerWrapper.getWebsocketURL(ViewHandlerWrapper.java:328) 在 com.sun.faces.push.WebsocketChannelManager。在 com.sun.faces.push.WebsocketChannelManager$Proxy$_$$_WeldClientProxy.register(未知来源) 在 com.sun.faces.push.WebsocketChannelManager.register(WebsocketChannelManager.java:142) 注册(WebsocketChannelManager.java:151)在 com.sun.faces.renderkit.html_basic.WebsocketRenderer.encodeEnd(WebsocketRenderer.java:115) 在 javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:949) 在 javax.faces.component.UIComponent.encodeAll(UIComponent .java:1912) 在 javax.faces.render.Renderer.encodeChildren(Renderer.java:176) 在 javax.faces.component。UIComponentBase.encodeChildren(UIComponentBase.java:918) 在 javax.faces.component.UIComponent.encodeAll(UIComponent.java:1905) 在 javax.faces.component.UIComponent.encodeAll(UIComponent.java:1908) 在 javax.faces.component .UIComponent.encodeAll(UIComponent.java:1908) 在 com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:491) 在 com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java :194) 在 org.ocpsoft.rewrite.faces.RewriteViewHandler.renderView(RewriteViewHandler.java:186) 在 javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:151) 在 javax.faces.application.ViewHandlerWrapper.renderView( ViewHandlerWrapper.java:151) 在 com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:126) 在 com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:223) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:第671章.WsFilter.doFilter(WsFilter.java:52) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在org.ocpsoft.rewrite.servlet.RewriteFilter.doFilter(RewriteFilter.java:205) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在 org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) 在 org.springframework.web.filter.OncePerRequestFilter .doFilter(OncePerRequestFilter.java:107) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在 org. springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:89) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain. java:193) 在 org.apache.catalina.core。ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org .apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在 org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter .java:197) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在 org.apache.catalina 的 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)。核心.ApplicationFilterChain。doFilter(ApplicationFilterChain.java:166) at org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:117) at org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:61 ) 在 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) 在 org.springframework.boot.web 的 org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:92) .support.ErrorPageFilter.doFilter(ErrorPageFilter.java:110) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166 ) 在 org.apache.catalina.core 的 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)。StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) at org .apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve .java:87) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) 在 org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803) 在 org.apache.coyote。 AbstractProcessorLight.process(AbstractProcessorLight.java:66) 在 org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790) 在 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459) 在 org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 在 java.util .concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread .java:61) 在 java.lang.Thread.run(Thread.java:748)tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748)tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748)

0 投票
2 回答
1755 浏览

jsf - 现在需要 faces-config.xml 和 web.xml 吗?

我一直在学习 JavaEE8 并通过一些项目进行实践,了解 Servlet 4.0 和 JSF 2.3 等新技术。我在许多论坛和页面上阅读过,在一些我看到他们这么说web.xml并且faces-config.xml没有必要,因为现在使用注释,但在其他一些他们继续使用它们。

在哪些情况下应该继续使用 Web Deployment Descriptor->web.xml和应用程序配置资源文件-> faces-config.xml

0 投票
0 回答
373 浏览

primefaces - Mojarra 上的 PrimeFaces TreeTable 问题

我有一个程序化的动态 TreeTable,它被创建并添加到表单面板中。这个问题只能在 Mojarra 中重现。

该代码仅适用于

或者

最小、完整和可验证 - primefaces 6.2,jsf 2.3.3 https://github.com/ravihariharan/primefaces-test-treetable.git

treetableprogram.xhtml, BasicView1.java

基于 PrimeFaces 展示示例:https ://www.primefaces.org/showcase/ui/data/treetable/basic.xhtml

问题

  1. 初始加载后无法展开或折叠 TreeTable。
  2. 代码仅适用于 Mojarra 中的 javax.faces.PARTIAL_STATE_SAVING false ,这不是理想的情况。
  3. 点击展开的 2018 年 6 月 11 日下午 3:13:29 com.sun.faces.application.view.FaceletPartialStateManagementStrategy saveDynamicActions 警告消息警告:无法使用 clientId 'form:treeTableId:col1' 保存动态操作,因为找不到 UIComponent 2018 年 6 月 11 日下午 3:13:29 com.sun.faces.application.view.FaceletPartialStateManagementStrategy saveDynamicActions 警告:无法使用 clientId 'form:treeTableId:ol1' 保存动态操作,因为找不到 UIComponent

参考 URL:JSF 状态保存和具有动态添加子项的自定义组件

MyFaces 实施不会出现此问题。https://github.com/ravihariharan/primefaces-test-myfaces.git

我不确定这是 Mojarra 部分状态保存问题还是由于 PrimeFaces 导致的错误。

BasicView1.java

文档.java

树表程序.xhtml

0 投票
1 回答
991 浏览

jsf - 在 JSF 2.3 中通知用户会话结束

JavaEE、JSF-2.3、W​​ebsocket、WebApplication、WildFly。
对于每个用户,都会创建一个会话,在该会话中进行操作、授权、身份验证等。15 分钟不活动后,会话自动销毁,这要归功于web.xml的设置-

在 JSF-2.3 中可用 WebSocket,所以我决定这样做ExitBean.java -

在页面上,分别是exit.xhtml -

在会话结束时,从日志来看,该sessionTimeOut()方法有效,它仍然@PreDestroy是,但页面上没有任何响应。对于测试,我在exit.xhtml
页面 上放置了一个按钮,通过单击调用该方法的方法。单击此按钮时,事件 - “exitEvent”按预期执行,调用 PrimeFaces 脚本,该脚本显示一个对话框。 我怀疑 websocket 甚至在调用该方法之前就被杀死了。 websocket 还有另一个选项,它看起来像这样:sessionTimeOut()PF('dlg1').show()
@Predestroy

但它仅在页面加载并且对会话结束没有反应时才起作用。
两个问题:

  1. 如何使用 websockets 处理会话结束?
  2. 在极端情况下,提供替代方案。
0 投票
1 回答
451 浏览

jsf - 不能将字符串作为参数传递 JSF 2.3

我正在使用Primefaces 6.0and JSF 2.3,我将 String 作为参数传递,但它变成了空的!爪哇:

XHTML:

当我通过 Boolean 或 Long 时,它工作正常,下面是一个 Long 示例:

0 投票
1 回答
1027 浏览

cdi - 无法在 servlet 容器中使用带有 jsf 2.3 的 bean

不久前我开始测试 JSF 2.3。但我无法让最重要的功能之一发挥作用。ManagedBeans 的使用。我尝试了很多,使用不同的 servlet 容器(Tomcat 8&9,Jetty 9.2)。但没有任何帮助。希望有人能看到我在资源上的失败。这令人沮丧。我进行了调试,但从未到达过 bean。primefaces 组件工作正常(primefaces 库不是原因)。但我从来没有得到 bean 数据。PS。我正在使用 myfaces,但使用 mojarra 我遇到了同样的问题。

我的豆子:

我的配置bean:

我的小脸:

我的 web.xml:

我的 build.gradle:

豆类.xml:

面孔-config.xml:

0 投票
1 回答
3885 浏览

eclipse - 如何在 Eclipse 中将项目从 Jsf 2.2 升级到 Jsf 2.3

目前我正在使用Primefaces 6.1Jsf 2.2使用 Eclipse 进行项目。现在我想将项目从升级Jsf 2.2Jsf 2.3. javax.faces-2.3.2.jar但是在用, javax.faces-api-2.3.jar,替换 Jsf 的 jar 文件后我遇到了一些问题jsf-impl-2.2.3.jar

我知道这个问题已经在使用 Jsf 2.3 中的 Websocket 的问题中提出,但在我的例子中,所有 jar 文件/库都已添加。我的问题是:
目前可以Jsf 2.3支持哪个编辑器?
我认为 Eclipse 只jsf 2.2支持

问题:
1. Eclipse 无法识别新标签,如
2. 运行项目后,我收到错误消息