Вставить зависимость в класс taglib? - PullRequest
5 голосов
/ 08 декабря 2010

Я использую Spring 3 и хочу внедрить некоторые зависимости в класс, который является частью taglib. Я могу представить некоторый kludge, используя constructor-arg, но я надеюсь, что у кого-то есть идея получше.

Ответы [ 2 ]

6 голосов
/ 09 декабря 2010

Если вы решите получить доступ к Сервису или DAO из пользовательского тега, вам необходимо получить доступ к ApplicationContext из тега и затем получить Бин.

ApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(pageContext.getServletContext()); 
MyService myService = applicationContext.getBean(MyService.class);
myService.doSomething();
1 голос
/ 22 марта 2013

Существует также http://www.shredzone.org/projects/jshred/wiki/Spring_supported_Tag_Libraries - это работает путем создания прокси-класса для каждого класса taglib, который обрабатывает взаимодействие с Spring, и использует Spring для создания экземпляра taglib при необходимости.

...