And*_*dre 5 java spring velocity spring-mvc tiles2
我目前正在使用Spring 3.0.4,并Apache Tiles 2.2.2在我的web应用程序.我想替换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>
Run Code Online (Sandbox Code Playgroud)
这可能吗?如果是这样,我是否需要创建任何自定义视图类来支持它?我目前正在使用标准的Spring VelocityConfigurer,TilesConfigurer,VelocityView,TilesView类.
谢谢!
在 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>
Run Code Online (Sandbox Code Playgroud)
如您所见,您声明了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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2188 次 |
| 最近记录: |