我需要访问servlet过滤器中的el功能,但是。。。这意味着我不在facesservlet生命周期内。因此,我需要示例化一个elcontext。我不想继续示例化facescontext,因为当应用程序转发到facesservlet时,这可能会导致问题。建议?谢谢!
lndjwyie1#
我不确定这样做是否有意义。在jsp上下文中,您将能够解析jsp工件;在jsf上下文中,您将能够解析jsf工件。在一个 Filter ,这些手工艺品不会提供给你。如果您只想根据定义的对象解析表达式,可以创建自己的上下文(您可能需要知道平台的 ExpressionFactory 类(如果还希望创建表达式)。也许有一个更好的方法来实现你正在做的事情,比如balusc的phaselistener建议。
Filter
ExpressionFactory
xwmevbvl2#
因为我正在编写一个web框架,所以没有办法使用phaselistener,这必须在servlet过滤器内部完成。不过,我确实在seam-solder(weldx)cdi模块中找到了解决方案—这只在cdi上运行时有效。http://docs.jboss.org/weld/extensions/reference/latest/en-us/html/elextensions.html
jslywgbw3#
最好使用 PhaseListener 而不是 Filter .
PhaseListener
3条答案
按热度按时间lndjwyie1#
我不确定这样做是否有意义。在jsp上下文中,您将能够解析jsp工件;在jsf上下文中,您将能够解析jsf工件。在一个
Filter
,这些手工艺品不会提供给你。如果您只想根据定义的对象解析表达式,可以创建自己的上下文(您可能需要知道平台的
ExpressionFactory
类(如果还希望创建表达式)。也许有一个更好的方法来实现你正在做的事情,比如balusc的phaselistener建议。
xwmevbvl2#
因为我正在编写一个web框架,所以没有办法使用phaselistener,这必须在servlet过滤器内部完成。
不过,我确实在seam-solder(weldx)cdi模块中找到了解决方案—这只在cdi上运行时有效。
http://docs.jboss.org/weld/extensions/reference/latest/en-us/html/elextensions.html
jslywgbw3#
最好使用
PhaseListener
而不是Filter
.