在运行时将 ManagedBean 添加到 JSF 上下文
Add ManagedBean to JSF context at runtime
我正在尝试为 WebApplications 创建 plugin/componentFramework 和 Java。我正在使用 Tomcat9、JSF(2.1.13) 和 Java 1.8。
我有一个 .war 文件。当我在启动时将此 .war 文件部署到 Tomcat 时,调度程序将启动,并且该调度程序将每 15 秒调用一个方法来观察给定的 (HotDeployment) 文件夹。如果将 jar 或 zip 文件部署到该文件夹,则文件将被解压缩,并且 classes 将通过新的 ClassLoader 加载。
现在我有一个简单的插件 (SimplePlugin.jar),其中一个 HelloWorld.class 具有注解 @ManagedBean 和 @RequestScoped。我如何在运行时向 JSF 上下文添加或注册此 ManagedBean(当我有一个 class 的对象时)dynamically/programmatically?因此,当我调用一个 .xhtml 文件时,这个 class 得到了识别。
我用 FacesContext 试了一下,我把自己定位在这个答案上:
How to register a JSF managed bean programmatically?
但我仍然不知道该怎么做。我怎样才能做到这一点?
感谢 Kukeltje and SovietFrontier 的回答。
你是对的 link 我在我的问题中发布的答案是正确的。我打错了...
我正在尝试为 WebApplications 创建 plugin/componentFramework 和 Java。我正在使用 Tomcat9、JSF(2.1.13) 和 Java 1.8。
我有一个 .war 文件。当我在启动时将此 .war 文件部署到 Tomcat 时,调度程序将启动,并且该调度程序将每 15 秒调用一个方法来观察给定的 (HotDeployment) 文件夹。如果将 jar 或 zip 文件部署到该文件夹,则文件将被解压缩,并且 classes 将通过新的 ClassLoader 加载。
现在我有一个简单的插件 (SimplePlugin.jar),其中一个 HelloWorld.class 具有注解 @ManagedBean 和 @RequestScoped。我如何在运行时向 JSF 上下文添加或注册此 ManagedBean(当我有一个 class 的对象时)dynamically/programmatically?因此,当我调用一个 .xhtml 文件时,这个 class 得到了识别。
我用 FacesContext 试了一下,我把自己定位在这个答案上: How to register a JSF managed bean programmatically? 但我仍然不知道该怎么做。我怎样才能做到这一点?
感谢 Kukeltje and SovietFrontier 的回答。 你是对的 link 我在我的问题中发布的答案是正确的。我打错了...