有人知道如何使用javax.servlet.Filter拦截a4j请求吗?拦截必须在调用FacesServlet之前发生(这就是我计划使用Filter来实现的原因)。
我想知道在我的backbean上将执行哪个方法,因为我需要首先做一个动态控制。
发布于 2010-08-25 23:41:34
您想要确定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>https://stackoverflow.com/questions/3567468
复制相似问题