2010-08-25 3 views
1

Кто-нибудь знает, как перехватить запрос a4j с помощью javax.servlet.Filter? Перехват должен произойти до вызова FacesServlet (поэтому я планирую сделать это с помощью фильтра). Я хотел бы знать, какой метод будет выполнен на моей задней части, так как сначала мне нужно сделать динамический контроль.Howto: Перехват запроса a4j с помощью javax.servlet.Filter?

Tks!

ответ

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> в FacesServlet, как это в настоящее время определяемом в web.xml.

<filter-mapping> 
    <filter-name>yourFilter</filter-name> 
    <servlet-name>facesServlet</servlet-name> 
</filter-mapping> 
Смежные вопросы