首页 > 解决方案 > 在运行时将 ManagedBean 添加到 JSF 上下文

问题描述

我正在尝试使用 Java 为 WebApplications 创建一个插件/组件框架。我正在使用 Tomcat9、JSF(2.1.13) 和 Java 1.8。

我有一个 .war 文件。当我在启动时将此 .war 文件部署到 Tomcat 时,调度程序将启动,并且此调度程序将每 15 秒调用一次观察给定(HotDeployment)文件夹的方法。如果将 jar 或 zip 文件部署到该文件夹​​,则该文件将被解压缩并通过新的 ClassLoader 加载类。

现在我有一个简单的插件(SimplePlugin.jar),它带有一个带有注释@ManagedBean 和@RequestScoped 的HelloWorld.class。如何在运行时以动态/编程方式将此 ManagedBean(当我有该类的对象时)添加或注册到 JSF 上下文?所以当我调用一个 .xhtml 文件时,这个类会被识别。

我使用 FacesContext 进行了尝试,并以这个答案为导向: 如何以编程方式注册 JSF 托管 bean? 但我仍然不知道该怎么做。我怎样才能做到这一点?

标签: jsfmanaged-bean

解决方案


感谢Kukeltje苏联边境的回答。你是对的,我在我的问题中发布的链接有正确的答案。我有一个错字...


推荐阅读