Ich verwende Spring 3 und möchte einige Abhängigkeiten in eine Klasse injizieren, die Teil einer Taglib ist. Ich kann mir vorstellen, einige kludge mit constructor-arg, aber ich hoffe, jemand anderes hat eine bessere Idee.
Antworten
Zu viele Anzeigen?Wenn Sie von einem benutzerdefinierten Tag aus auf einen Dienst oder eine DAO zugreifen möchten, müssen Sie vom Tag aus auf den ApplicationContext zugreifen und dann die Bean abrufen.
ApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(pageContext.getServletContext());
MyService myService = applicationContext.getBean(MyService.class);
myService.doSomething();
JeeBee
Punkte
17329
Außerdem gibt es http://www.shredzone.org/projects/jshred/wiki/Spring_supported_Tag_Libraries - funktioniert dies durch die Erstellung einer Proxy-Klasse für jede Taglib-Klasse, die die Interaktion mit Spring übernimmt und Spring verwendet, um bei Bedarf eine Instanz der Taglib zu erzeugen.