У меня есть веб-приложение, работающее с Spring Webflow, Tiles и JSP.
В настоящее время все страницы расширяют мое определение "defaultLayout" (которое имеет баннер, структуру меню, нижний колонтитул и т. Д.).
В файле определения плиток:
<definition name="defaultLayout" template="/WEB-INF/tiles/defaultLayout.jsp"/>
<definition name="_**.view.jsp" extends="defaultLayout">
<put-attribute name="content" value="{1}.view.jsp"/>
</definition>
Новое требование - иметь «встроенный» вид (без нижнего колонтитула / меню / и т. Д.). Я создал определение встроенного представления:
<definition name="embeddedLayout" template="/WEB-INF/tiles/embeddedLayout.jsp"/>
<definition name="_**.embedded.view.jsp" extends="embeddedLayout">
<put-attribute name="content" value="{1}.view.jsp"/>
</definition>
У меня есть JSP-файлы, которые определяют основное содержимое страницы (все с именем: pageName.view.jsp).
Теперь мне нужен какой-то способ, позволяющий плиткам визуализировать pageName.embedded.view.jsp (который будет использовать встроенный в Layout) вместо pageName.view.jsp на основе определенного требования (еще не выяснил, что, вероятно, запрос) параметр передан или что-то в этом роде).
Я не слишком знаком с внутренним функционированием плиток. Какой класс я могу переопределить, чтобы изменить pageName.view.jsp, чтобы он был pageName.embedded.view.jsp?
Вот моя соответствующая конфигурация Spring:
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/tiles/tiles-defs.xml</value>
</list>
</property>
</bean>
<bean id="webflowViewFactoryCreator" class="org.springframework.webflow.mvc.builder.MvcViewFactoryCreator">
<property name="viewResolvers">
<bean class="org.springframework.js.ajax.AjaxUrlBasedViewResolver">
<property name="viewClass" value="org.springframework.webflow.mvc.view.FlowAjaxTilesView"/>
<property name="prefix" value="_"/>
</bean>
</property>
</bean>
Любая помощь будет оценена.
Версия плитки: 2.2.1
Весенняя версия: 3.0.3
Версия Webflow: 2.1.1