gpt4 book ai didi

jsf - 防止从 jsf 2 中包含的 jar 安装阶段监听器

转载 作者:行者123 更新时间:2023-12-04 15:24:11 24 4
gpt4 key购买 nike

我有一个 JSF 2 应用程序,其中包含一个 jar 文件,该文件又在其 META-INF 目录中包含一个 faces-config.xml。 faces-config.xml 包含阶段监听器的声明。我想在不修改 jar 文件本身的情况下阻止安装此阶段监听器。
这可能吗?

最佳答案

您无法屏蔽 faces-config.xml 的特定部分在第 3 方 JAR 中不被解释。

您基本上有两个选择:

  • 整块faces-config.xml在第 3 方 JAR 中通过添加 metadata-complete="true" 被解释到 webapp 自己的 faces-config.xml .
    <faces-config ... metadata-complete="true">

    请注意,这也会跳过第 3 方 JAR 类中的注释扫描。您基本上需要重新定义您想在 webapp 自己的 faces-config.xml 中使用的特定部分。 .

  • 提供定制 Lifecycle 通过 LifecycleFactory 实现您在 <factory><lifecycle-factory> 中注册的webapp 的 faces-config.xml .在该实现中,覆盖 addPhaseListener() 相应地执行例如instanceof在跳过或继续之前检查。
  • 关于jsf - 防止从 jsf 2 中包含的 jar 安装阶段监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15572539/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com