Как настроить определения Spring и Apache Tiles для разрешения jsps из classpath

Этот не очень короткий, так что будьте терпеливы.
Я разрабатываю веб-приложение с помощью Spring 3.0, Apache Tiles 2.2 и Spring WebFlow 2.2. Одним из важных требований является то, что он должен быть очень модульным, что означает, что каждый модуль приложения будет поставляться как отдельный файл Jar. Это можно сделать, загрузив ресурсы и конфигурации через путь к классам.
Я хотел бы объединить в этот файл jar все классы, конфигурации bean-компонентов, определения представлений, определения потоков и страницы jsp для модуля. Первые 2 тривиальны.
Для следующих 2 я нашел решения:
определения потока
базовый путь может быть загружен из пути к классам

<webflow:flow-registry id="flowRegistry" flow-builder-services="flowBuilderServices" base-path="classpath:/org/example/webflow/samples">
    <webflow:flow-location-pattern value="/**/*-flow.xml" />
</webflow:flow-registry>

определения представления
TilesConfigurer также может загружаться через путь к классам

<bean id="tilesViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <property name="viewClass" value="org.springframework.web.servlet.view.tiles2.TilesView"/>
</bean>
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
    <property name="definitions">
        <list>
            <value>classpath:/org/example/**/tiles/tile-views.xml</value>
    </list>
</property>
</bean>

Единственное, что осталось, - это разрешить страницы, желательно через что-то вроде:

<definition name="myPage" extends="main">
    <put-attribute name="header" value="classpath:/org/example/pages/headers/view_events.jsp" />
    <put-attribute name="siteContent" value="classpath:/org/example/pages/admin/view_events.jsp" />
    <put-attribute name="footer" value="classpath:/org/example/pages/blank.jsp" />
</definition>

Есть ли способ добиться желаемого результата? Самое близкое, что я получил через поиск, - это поддержка подстановочных знаков Apache Tiles и поддержка EL, но это не то, что мне нужно.
Заранее спасибо.

6
задан BalusC 10 November 2011 в 21:09
поделиться