1
有人知道如何使用javax.servlet.Filter拦截a4j请求吗? 拦截必须发生在FacesServlet被调用之前(这就是为什么我打算使用Filter来做到这一点)。 我想知道什么方法将在我的豆子上执行,因为我需要先做一个动态控制。Howto:使用javax.servlet.Filter拦截a4j请求?
Tks!
有人知道如何使用javax.servlet.Filter拦截a4j请求吗? 拦截必须发生在FacesServlet被调用之前(这就是为什么我打算使用Filter来做到这一点)。 我想知道什么方法将在我的豆子上执行,因为我需要先做一个动态控制。Howto:使用javax.servlet.Filter拦截a4j请求?
Tks!
您想要确定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
目前definied。
<filter-mapping>
<filter-name>yourFilter</filter-name>
<servlet-name>facesServlet</servlet-name>
</filter-mapping>