【问题标题】:Update faces-config.xml in memory at runtime在运行时更新内存中的 faces-config.xml
【发布时间】:2012-06-22 02:53:26
【问题描述】:

当 JSF/XPages 应用程序启动时,它会读取 faces-config.xml 以获取托管 bean、验证器等。我可以在运行时操作加载的配置吗?例如动态添加验证器以确保我的自定义代码能够运行。

我不是要在运行时更改 xml 文件,而是在加载后更改内存表示。

XPages 使用 JSF 1.x 运行时,因此 JSF 2.0 构造可能不起作用

【问题讨论】:

    标签: jsf xpages


    【解决方案1】:

    是的,您可以添加许多 JSF 工件,这些工件通常在 faces-config.xml 中配置,其中包括 Application class

    Application application = FacesContext.getCurrentInstance().getApplication();
    application.addValidator("fooValidator", "com.example.FooValidator");
    // ...
    

    您可以在急切初始化的应用程序范围的托管 bean 中完成这项工作。

    @ManagedBean(eager=true)
    @ApplicationScoped
    public class Config {
    
        @PostConstruct
        public void init() {
            // ...
        }
    
    }
    

    【讨论】:

    • 它将与 XPages 引擎中 JSF 的 Domino 实现一起使用吗? AFAIK stackoverflow.com/a/9992766/206265
    • 感谢您的信息。我的错:我没有提到 JSF 1.x,所以没有注释。但是 addValidator() 可能会起作用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-12
    • 1970-01-01
    • 1970-01-01
    • 2012-09-14
    • 2013-12-24
    相关资源
    最近更新 更多