2010-12-08 3 views
5

J'utilise Spring 3 et je veux injecter des dépendances dans une classe qui fait partie d'un taglib. Je peux imaginer un peu de kludge en utilisant constructor-arg, mais j'espère que quelqu'un d'autre a une meilleure idée.Injecter une dépendance dans une classe taglib?

+0

"Ne fais pas ça" serait mon conseil. – duffymo

+0

Pourquoi pas? Je veux que mon tag charge des données à partir d'un service. – jiggy

+1

Voir http://stackoverflow.com/questions/3924909/how-to-write-tag-in-my-spring-project – skaffman

Répondre

6

Si vous décidez d'accéder à un service ou à un DAO à partir d'un tag personnalisé, vous devez accéder à ApplicationContext à partir du tag, puis récupérer le bean.

ApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(pageContext.getServletContext()); 
MyService myService = applicationContext.getBean(MyService.class); 
myService.doSomething(); 
+0

pageContext est un attribut protégé dans TagSupport –

Questions connexes