重新排序自定义统一表达式语言解析器

时间:2016-03-21 15:04:33

标签: jsf el resolver

我正在尝试编写自定义表达式语言(EL)解析器。此解析程序的目的是拦截对某个Bean的方法调用以添加第二个参数。我写了一个自定义的EL解析器,它覆盖invoke - 方法来做我想要的。我还根据需要将解析器放在faces-config.xml中。

不幸的是,我的项目中有一个依赖项,它也声明了自定义EL解析器,它们被放置在解析器链中的EL解析器之前。由于其他解析器之一已经处理invoke - 方法,因此我的自定义invoke - 方法永远不会被调用。

有没有办法重新排序解析器,以便首先调用我的解析器?我知道Apache MyFaces提供了一种订购解析器的机制,但不幸的是我无法让MyFaces在我的项目中工作。

1 个答案:

答案 0 :(得分:1)

将EL解析器放在单独的web fragment project中,最终在webapp' s XCUIApplication().buttons["\Ue15e"].tap() 中最终成为JAR。在网络片段项目/WEB-INF/lib中,声明订单为"在其他人之前"如下。

faces-config.xml

或者如果&#34;其他依赖&#34;还有一个<ordering> <before> <others /> </before> </ordering> 文件,声明了faces-config.xml,然后在排序中明确声明该名称。如果&#34;其他依赖&#34;这将是唯一的方法。恰好也有上面的排序集。

<name>

注意这应该影响整个<ordering> <before> <name>nameOfThatOtherDependency</name> </before> </ordering>