将速度与 Tiles 和 Spring 结合使用

发布于 2024-10-01 07:18:01 字数 647 浏览 2 评论 0原文

我目前在我的网络应用程序中使用 Spring 3.0.4Apache Tiles 2.2.2。我想用 Apache Velocity 1.6.3 替换 JSP,但我对如何执行此操作有些困惑。最终,我希望能够在 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 类。

谢谢!

I'm presently using Spring 3.0.4 and Apache Tiles 2.2.2 in my web app. I'd like to replace JSP with Apache Velocity 1.6.3 but I'm somewhat confused on how to do this. Ultimately, I'd like to be able to do the following in a Tiles definition:

<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>

Is this possible? If so, do I need to create any custom view classes to support it? I'm currently using the standard Spring VelocityConfigurer, TilesConfigurer, VelocityView, TilesView classes.

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

小兔几 2024-10-08 07:18:01

我创建了帮助程序类,其中包括与速度集成的图块:
https://github.com/pete911/openhouse-web
向下滚动时会有说明。类也可以在 Maven Central 中找到。

I've created helper classes which include tiles integration with velocity:
https://github.com/pete911/openhouse-web
there's a descritption when you scroll down. classes can be found in maven central as well.

好倦 2024-10-08 07:18:01

在您的 servlet 定义中,您需要以下内容:

    <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>

如您所见,您声明了tiles.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>

inside your servlet definition you need the following:

    <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>

as you can see you declare tiles.xml ..this is the file that will hold the definiotion name etc.

if you are using maven you need the following dependencies:

<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>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文