大家好,我是IT修真院上海分院第6期的学员,一枚正直纯洁善良的程序员
今天给大家分享一下,Tiles框架简单介绍
百度百科
Apache Tiles官方文档:http://tiles.apache.org/
https://blog.csdn.net/qq_27093465/article/details/48650719
Tiles框架简单介绍
背景介绍
什么是Tiles
Tiles 是一种JSP布局框架,主要目的是为了将复杂的jsp页面作为一个的页面的部分机能,然后用来组合成一个最终表示用页面用的,这样的话,
便于对页面的各个机能的变更及维护。 Tiles使得struts在页面的处理方面多了一种选择。并且更容易实现代码的重用。
Tiles框架特性和内容
Tiles框架为创建Web页面提供了一种模板机制,它能将网页的布局和内容分离。它允许先创建模板,然后在运行时动态地将内容插入到模板中。Tiles 框架建立在JSP的include指令的基础上,但它提供了比JSP的 include指令更强大的功能。
Tiles框架具有如下特性:
·创建可重用的模板
·动态构建和装载页面
·定义可重用的Tiles组件
·支持国际化
Tiles框架包含以下内容:
·Tiles标签库
·Tiles组件的配置文件
·TilesPlugIn插件
然后是配置文件
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN" "http://tiles.apache.org/dtds/tiles-config_3_0.dtd"> <tiles-definitions> <!-- 主布局 --> <!--template 模版 definition 定义 attribute 属性--> <definition name="layout" template="/WEB-INF/jsp/layout.jsp"> <put-attribute name="title" value="/WEB-INF/jsp/title.jsp" /> <put-attribute name="header" value="/WEB-INF/jsp/header.jsp" /> <put-attribute name="body" value="" /> <put-attribute name="footer" value="/WEB-INF/jsp/footer.jsp" /> </definition> <!-- 主布局 --> <!-- 首页 --> <definition name="home" extends="layout"> <put-attribute name="body" value="/WEB-INF/jsp/homebody.jsp" /> </definition> <!--职业--> <definition name="position" extends="layout"> <put-attribute name="body" value="/WEB-INF/jsp/positionbody.jsp" /> </definition> <!--合作--> <definition name="company" extends="layout"> <put-attribute name="body" value="/WEB-INF/jsp/companybody.jsp" /> </definition> <!--重写--> <definition name="test" extends="layout"> <put-attribute name="header" value="/WEB-INF/jsp/chongxie.jsp"/> </definition> <!--嵌套--> <definition name="test1" extends="layout"> <put-attribute name="body" value="layout"/> </definition> <!--匿名嵌套--> <definition name="test2" extends="layout"> <put-attribute name="body" > <definition name="in" extends="test1"> <put-attribute name="body" value="/WEB-INF/jsp/homebody.jsp"/> </definition> </put-attribute> <!--<put-attribute name="header" value="/WEB-INF/jsp/chongxie.jsp"/>--> <!--<put-attribute name="footer" value="/WEB-INF/jsp/chongxie.jsp"/>--> </definition> <!--EL表达式--> <definition name="test3" extends="layout"> <put-attribute name="body" expression="/WEB-INF/jsp/${body}.jsp"/> </definition> </tiles-definitions>主布局
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %> <%@ taglib uri="http://tiles.apache.org/tags-tiles-extras" prefix="tilesx" %> <!DOCTYPE html> <html> <head> <tiles:insertAttribute name="title" /> </head> <body> <tiles:insertAttribute name="header" /> <tiles:insertAttribute name="body" /> <tiles:insertAttribute name="footer" /> </body> </html>在spring-mvc添加视图解析器
<bean id="tilesViewResolver" class="org.springframework.web.servlet.view.tiles3.TilesViewResolver" p:order="1"/> <bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer"> <property name="definitions"> <list> <value>/WEB-INF/layout.xml</value> </list> </property> </bean>参考文献
百度百科
Apache Tiles官方文档:http://tiles.apache.org/
https://blog.csdn.net/qq_27093465/article/details/48650719