5 Stimmen

Abhängigkeit in eine Taglib-Klasse injizieren?

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.

7voto

Joel Punkte 96

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();

1voto

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.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X