首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何:使用javax.servlet.Filter拦截a4j请求?

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

Stack Overflow用户
提问于 2010-08-25 23:19:45
回答 1查看 589关注 0票数 1

有人知道如何使用javax.servlet.Filter拦截a4j请求吗?拦截必须在调用FacesServlet之前发生(这就是我计划使用Filter来实现的原因)。

我想知道在我的backbean上将执行哪个方法,因为我需要首先做一个动态控制。

EN

回答 1

Stack Overflow用户

发布于 2010-08-25 23:41:34

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

代码语言:javascript
复制
String requestedWith = request.getHeader("X-Requested-With");

然后在if块中确定该值是否为a4j请求的期望值,并进行相应的处理。在必要的时候,不要忘了继续过滤器链的末端。

代码语言:javascript
复制
if (requestedWith.equals(someAjax4jsfSpecificValue)) {
    // Do your job.
}
chain.doFilter(request, response);

要让它运行,只需将它映射到FacesServlet<servlet-name>上,就像它当前在web.xml中定义的那样。

代码语言:javascript
复制
<filter-mapping>
    <filter-name>yourFilter</filter-name>
    <servlet-name>facesServlet</servlet-name>
</filter-mapping>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3567468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档