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.ViewPreparer
implementiert: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
PreparerFactoryClass
angegeben 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á!