背景:最近遇到一个基于spring mvc的web项目,需要使用velocity模板引擎,首先需要学习如何集成velocity模板引擎
开发环境:
- 操作系统:mac os x
- JDK版本:1.8.0_45
- Spring版本: 4.0.6
- IDE:intellj idea
spring集成velocity请参考:Spring MVC集成velocity配置
velocity layout用途:对于一个网站,除了内容区会根据页面有变更外,页头,页尾等区域往往都是共用的,layout可以将这些共用部分抽取出来复用
viewResolver配置:
viewResolver配置为org.springframework.web.servlet.view.velocity.VelocityLayoutViewResolver
而不是
org.springframework.web.servlet.view.velocity.VelocityViewResolver,则项目支持velocity的layout功能
layout配置:
<property name="layoutUrl" value="empty_layout.vm" />
empty_layout.vm内容参考:
<! DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>xxx系统</title>
<link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.css">
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="http://cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="http://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
$screen_content
</body>
<script src="http://cdn.bootcss.com/jquery/1.11.1/jquery.min.js"></script>
<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script src="http://cdn.bootcss.com/bootstrap/3.3.0/js/bootstrap.min.js"></script>
</html>
其中$screen_content填充的就是页面的内容