Spring, Tiles 2 und Preparer
Manch einer mag sich gewundert haben, warum Preparer nicht wie unter http://tiles.apache.org/tutorial/advanced/preparer.html dokumentiert ausgeführt werden. Das liegt daran, dass die Dokumentation nicht ganz komplett ist. Hier eine kurze Anleitung, was Ihr tun müsst, um die Preparer tatsächlich zum laufen zu bekommen:
-
Legt einen Preparer an, der das Interface
org.apache.tiles.preparer.ViewPreparerimplementiert:public class WelcomePreparer implements ViewPreparer { ... } -
Dieser Preparer (die Klasse) bekommt eine Annotation
@Service:@Service public class WelcomePreparer implements ViewPreparer { ...} -
In der Definition des Views gebt Ihr den entsprechenden Preparer an:
<definition name="welcome" template="/WEB-INF/tiles/welcome.jsp" preparer="welcomePreparer"> -
In der Spring-Konfiguration für die Tiles muss eine neue
PreparerFactoryClassangegeben werden, damit die Preparer tatsächlich aufgerufen werden können:<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer"> {...} <property name="preparerFactoryClass" value="org.springframework.web.servlet.view.tiles2.Spring BeanPreparerFactory"/> </bean>
Voilá!