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

时间:2010-08-25 15:19:45

标签: java jsf richfaces servlet-filters ajax4jsf

有人知道如何使用javax.servlet.Filter拦截a4j请求吗? 拦截必须在调用FacesServlet之前发生(这就是为什么我要使用Filter来实现它)。 我想知道我的backbean将执行哪种方法,因为我需要先进行动态控制。

韩国社交协会!

1 个答案:

答案 0 :(得分:0)

您想确定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);

要让它运行,只需将其映射到<servlet-name>的{​​{1}},就像FacesServlet中当前定义的那样。

web.xml