我正在尝试编写自定义表达式语言(EL)解析器。此解析程序的目的是拦截对某个Bean的方法调用以添加第二个参数。我写了一个自定义的EL解析器,它覆盖invoke
- 方法来做我想要的。我还根据需要将解析器放在faces-config.xml
中。
不幸的是,我的项目中有一个依赖项,它也声明了自定义EL解析器,它们被放置在解析器链中的EL解析器之前。由于其他解析器之一已经处理invoke
- 方法,因此我的自定义invoke
- 方法永远不会被调用。
有没有办法重新排序解析器,以便首先调用我的解析器?我知道Apache MyFaces提供了一种订购解析器的机制,但不幸的是我无法让MyFaces在我的项目中工作。
答案 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>
。