Можно ли использовать подстановочные знаки в J2EE-фитлерах? - PullRequest
2 голосов
/ 03 июня 2009

Я хотел бы применить фильтр к окончанию URL-адреса. Следующая конфигурация, кажется, работает.

<filter>
    <filter-name>LanguageFilter</filter-name>
    <filter-class>filters.LanguageFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>LanguageFilter</filter-name>
    <url-pattern>*.do</url-pattern>
</filter-mapping>
<filter-mapping>
    <filter-name>LanguageFilter</filter-name>
    <url-pattern>*.xml</url-pattern>
</filter-mapping>

Первоначально я спросил, возможно ли использовать подстановочные знаки, такие как:

    <url-pattern>*.do|*.xml</url-pattern>

Но это не представляется возможным.

Ответы [ 2 ]

2 голосов
/ 03 июня 2009

В стандарте нет понятия такого оператора, поэтому вам нужно два отображения. Спецификация отображений доступна в спецификации сервлета. См. эту статью для ссылки и раздела.

0 голосов
/ 28 апреля 2010

Вы могли бы немного обмануть и сопоставить /. с вашим классом фильтра, а затем сделать так, чтобы ваша реализация фильтра приняла параметр, где .do | .xml анализировался и хотя ваш фильтр технически способен видеть слишком много, он просто проверяет, дали ли вы ему дополнительный тест, выполняет ли он или фильтр, или noops.

...