1. build.gradle文件 引入sitemeth3包文件
// https://mvnrepository.com/artifact/org.sitemesh/sitemesh
compile group: 'org.sitemesh', name: 'sitemesh', version: '3.0.0'
2. web.xml增加Sitemesh Filter
<filter>
<filter-name>sitemesh</filter-name>
<filter-class>org.sitemesh.config.ConfigurableSiteMeshFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3. 准备装饰页面
decorator.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>
<sitemesh:write property='title' /> - ltcms
</title>
<sitemesh:write property='head' />
</head>
<body>
<header>header</header>
<hr />
home.jsp的title将被填充到这儿:
<sitemesh:write property='title' /><br />
home.jsp的body将被填充到这儿:
<sitemesh:write property='body' />
<hr />
<footer>footer</footer>
</body>
</html>
home.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Home</title>
</head>
<body>
This is home content.
</body>
</html>
4. sitemesh3.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<sitemesh>
<!-- 指明满足“/*”的页面,将被“/WEB-INF/views/decorators/decorator.html”所装饰 -->
<mapping path="/*" decorator="/WEB-INF/view/decorator.jsp" />
</sitemesh>
5.controller
package com.example.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
/**
* Created by Administrator on 2017/4/11.
*/
@Controller
@RequestMapping("/example")
public class HomeControler {
@RequestMapping(value = "", method = RequestMethod.GET)
public String helloWorld() {
return "home";
}
}
6.效果