繁体   English   中英

如何:使用javax.servlet.Filter拦截a4j请求?

[英]Howto: Intercept a a4j request using a javax.servlet.Filter?

有人知道如何使用javax.servlet.Filter拦截a4j请求吗? 拦截必须在调用FacesServlet之前进行(这就是为什么我打算使用Filter进行拦截的原因)。 我想知道wich方法将在我的backbean上执行,因为我需要先做一个动态控制。

Tks!

您想确定a4j请求标记的请求标头。 我没有做a4j,但是如果a4j做得很好,您应该能够根据X-Requested-With标头确定它。

String requestedWith = request.getHeader("X-Requested-With");

然后,只需在if块中确定该值是否为a4j请求的预期值,并进行相应处理即可。 别忘了在必要时在最后继续过滤器链。

if (requestedWith.equals(someAjax4jsfSpecificValue)) {
    // Do your job.
}
chain.doFilter(request, response);

要使其运行,只需将其映射到FacesServlet<servlet-name>上(如当前在web.xml

<filter-mapping>
    <filter-name>yourFilter</filter-name>
    <servlet-name>facesServlet</servlet-name>
</filter-mapping>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM