Как интегрировать Spring 4 с Apache Tiles 3?

Я использую Spring Framework версии 4 и не понимаю, в какую папку поместить XML-файлы, особенно определения плиток и где найти bean-компонент распознавателя.


person Andoy Abarquez    schedule 12.08.2014    source источник
comment
Пожалуйста, добавляйте соответствующие теги, когда задаете вопрос. Очень полезно добавить привлекательность людей.   -  person Ruchira Gayan Ranaweera    schedule 12.08.2014


Ответы (3)


документы Должен объяснить все это для вас.

person mck    schedule 21.09.2014

XML определения плитки указывается при определении bean-компонента TilesConfigurer. Если вы используете конфигурацию на основе Java, это будет выглядеть так:

@Bean
public TilesConfigurer tilesConfigurer(){
    TilesConfigurer tilesConfigurer = new TilesConfigurer();
    tilesConfigurer.setDefinitions(new String[] {"/WEB-INF/**/tiles.xml"});
    tilesConfigurer.setCheckRefresh(true);
    return tilesConfigurer;
}

Если вы используете конфигурацию на основе xml, это будет выглядеть так:

<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
    <property name="definitions">
        <list>
            <value>/WEB-INF/views/**/tiles.xml</value>
        </list>
    </property>
</bean>

Когда вы указываете /WEB-INF/views/**/tiles.xml, вы говорите TilesConfigurer искать все определения тайлов рекурсивно в каталоге /Web-INF/views.

person MGB    schedule 21.10.2014

вам нужно настроить свой сервлет-контекст с помощью нескольких bean-компонентов, создать файлtiles.xml для использования шаблона макета и остальных определений в views.xml для получения базового определения вtiles.xml:

  <beans:bean id="tilesConfigurer"
    class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
    <beans:property name="definitions">
        <beans:list>
            <beans:value>/WEB-INF/tiles.xml</beans:value>
            <beans:value>/WEB-INF/views/**/views.xml</beans:value>
        </beans:list>
    </beans:property>
</beans:bean>
<beans:bean id="tilesViewResolver"
    class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <beans:property name="viewClass">
        <beans:value>
            org.springframework.web.servlet.view.tiles3.TilesView
        </beans:value>
    </beans:property>
    <beans:property name="order" value="0"/>
</beans:bean>
person Shahid Yousuf    schedule 03.07.2015
comment
Вы также можете использовать TilesViewResolver вместо UrlBasedViewResolver (<bean id="tilesViewResolver" class="org.springframework.web.servlet.view.tiles3.TilesViewResolver"/>). Тогда вам не нужно настраивать viewClass. - person OlgaMaciaszek; 04.01.2016