1.配置依赖Jar包
假设Spring(版本3.0)工程已经配置好,这里只介绍怎么添加Tiles(版本2.1.2)的Jar包。可以根据项目实际情况来添加依赖Jar包,如直接引用Jar包,Maven方式,Gradle方式等。
2.在Spring的配置文件添加Tiles配置
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/tiles.xml</value>
</list>
</property>
</bean>
3.tiles.xml配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
"http://tiles.apache.org/dtds/tiles-config_2_0.dtd">
<tiles-definitions>
<definition name="base" template="/WEB-INF/layout.jsp">
<put-attribute name="title" value="Hello World" />
<put-attribute name="header" value="/WEB-INF/header.jsp" />
<put-attribute name="content" value="/WEB-INF/content.jsp" />
<put-attribute name="footer" value="/WEB-INF/footer.jsp" />
</definition>
<definition name="demo" extends="base" >
<put-attribute name="body" value="/WEB-INF/demo.jsp" />
</definition>
</tiles-definitions>
"base"是模板的名字,template是模板文件的路径
put-attribute表示加入模板的模块,value指向其路径
4.模板文件layout.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>
<tiles:getAsString name="title" />
</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="header">
<tiles:insertAttribute name="header" />
</div>
<div class="content">
<tiles:insertAttribute name="content" />
</div>
<div class="footer">
<tiles:insertAttribute name="footer" />
</div>
</body>
</html>
假设header.jsp内容为header
content.jsp内容为content
footer.jsp内容为footer
5.调用
@RequestMapping(value="/demo")
public String getDemo(Model model){
return "demo";
}
6.结果
通过url调用,返回值是一个网页:
标题是:
Hello World
内容是:
header
content
footer
注意:不同版本的Spring和Tiles整合,可能使用的Jar和配置不一样,请注意区分!Spring配置非常灵活,不止上面这种方式。