Spring整合Tiles

1.配置依赖Jar包

假设Spring(版本3.0)工程已经配置好,这里只介绍怎么添加Tiles(版本2.1.2)的Jar包。可以根据项目实际情况来添加依赖Jar包,如直接引用Jar包,Maven方式,Gradle方式等。


Jar包

Maven配置

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配置非常灵活,不止上面这种方式。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容