Использование скорости с Tiles и Spring - PullRequest
5 голосов
/ 06 ноября 2010

В настоящее время я использую Spring 3.0.4 и Apache Tiles 2.2.2 в своем веб-приложении. Я хотел бы заменить JSP на Apache Velocity 1.6.3, но я несколько запутался, как это сделать. В конечном счете, я хотел бы иметь возможность сделать следующее в определении Tiles:

<definition name="basicLayout" template="/WEB-INF/layout/basicLayout.vm">
    <put-attribute name="header" value="/WEB-INF/layout/header.vm" />
    <put-attribute name="content-area" value="/WEB-INF/layout/content.vm" />
    <put-attribute name="footer" value="/WEB-INF/layout/footer.vm" />
</definition>

Возможно ли это? Если да, нужно ли создавать какие-либо пользовательские классы представлений для его поддержки? В настоящее время я использую стандартные классы Spring VelocityConfigurer, TilesConfigurer, VelocityView, TilesView.

Спасибо!

Ответы [ 2 ]

2 голосов
/ 25 мая 2011

Я создал вспомогательные классы, которые включают интеграцию плиток со скоростью: https://github.com/pete911/openhouse-web при прокрутке вниз появляется описание.классы можно найти и в Maven Central.

0 голосов
/ 03 марта 2011

внутри вашего определения сервлета вам нужно следующее:

    <bean id="viewResolver"
    class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <property name="viewClass">
        <value>
            org.springframework.web.servlet.view.tiles2.TilesView
    </value>
    </property>
</bean>
<bean id="tilesConfigurer"
    class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
    <property name="definitions">
        <list>
            <value>/WEB-INF/tiles.xml</value>
        </list>
    </property>
</bean>

как вы видите, вы объявляете tile.xml .. это файл, который будет содержать имя для определения и т. Д.

если вы используете maven, вам нужны следующие зависимости:

<dependency>
        <groupId>org.apache.tiles</groupId>
        <artifactId>tiles-api</artifactId>
        <version>2.2.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.tiles</groupId>
        <artifactId>tiles-core</artifactId>
        <version>2.2.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.tiles</groupId>
        <artifactId>tiles-jsp</artifactId>
        <version>2.2.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.tiles</groupId>
        <artifactId>tiles-servlet</artifactId>
        <version>2.2.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.tiles</groupId>
        <artifactId>tiles-template</artifactId>
        <version>2.2.1</version>
    </dependency>
...