Как Spring связывает OncePerRequestFilter со значениями init-param? - PullRequest
4 голосов
/ 27 апреля 2011

У меня есть простая OncePerRequestFilter с парой init-param записей, определенных в моем web.xml, но я не знаю, как получить к ним доступ из фильтра.getFilterConfig() возвращает null.init(FilterConfig) документы делают его звучащим так, как будто он будет внедрять в свойства bean-компонента на основе имени init-param, например, параметру с именем foo будет присвоено значение, введенное в свойство объектафильтр с именем foo, но некоторые входящие в систему doFilterInternal, кажется, указывают на то, что этого не происходит.

Так как я довольно новичок в современной Spring (последний раз использовал его около 1x дней) и полностьюЯ новичок в Spring MVC, я почти уверен, что пропустил что-то очевидное, но не вижу, что это такое.Спасибо за любую помощь.

1 Ответ

5 голосов
/ 28 апреля 2011

Значения init-param сопоставляются со свойствами самого фильтра.

public MyFilter extends OncePerRequestFilter {

    // the following should be called once the `GenericFilterBean` `init` method has run        
    public void setFoo(String foo){
         this.foo = foo;
    }
}


<filter>
     <init-param>
          <param-name>foo</param-name>
          <param-value>bar</param-value>
     </init-param>
</filter>
...