大家好,我是IT修真院武汉分院第15期学员,一枚正直善良的JAVA程序员。
今天给大家分享一下,修真院官网JAVA任务4中,tiles框架。
一、背景介绍
Tiles是一种JSP布局框架,主要目的是为了将复杂的jsp页面作为一个的页面的部分机能,然后用来组合成一个最终表示用页面用的,这样的话,便于对页面的哥哥机能的变更及维护。tiles使得struts在页面的处理方面多了一种选择。并且更容易实现代码的重用。
二.知识剖析
1.Tiles起源
最早的Tiles是组装在Struts1.1里面的(Struts-Tiles),后面发展为独立的Tiles框架,现在Tiles已经作为一个Apache独立的开源项目维护着
2.TILES作用
Tiles允许作者定义页面片段,这些片段可以在运行时被组合成一个完整的页面,这些片段或片可以被简单的包括在内,以便减少常见的页面元素的重复或者嵌入在其他的片中以开发一系列可重复使用的模板。 这些模板简化了整个应用程序中一致的外观和感觉的开发。(Tiles官方文档)
3.TILES作用
Tiles框架可以令我们组合可以复用的Tiles来搭建网页。例如,图中的页面就是通过组合一个head, 一个foot, 一个right和一个body搭建起来的。每一个Tiles(head, foot, body, ...)都是一个JSP页面,它们也可以通过组合其他的Tiles来搭建。
4.嵌套TILES
一个 tile 布局可以插入到另一个 tile 布局中,依此类推。实际上,创建的 tile 布局如此之 小,以至于它们本身并不是真正的模板。相反,它们是更类似于自定义标签的小型可视组件,而不是页面模板。5、TILES运行流程
当Spring MVC的DispatchServlet收到来自浏览器的请求后,分析出需要请求的控制器,然后访问解析出来的控制器StudentController的home方法,接着就开始解析视图了。因为我们用的是Tiles的视图解析器,激情饱满的二级制代码就访问到了layout.xml (jnshu.xml),最后根据layout.xml的配置组装成我们看到的页面。
三.常见问题
1.为什么要用Tiles框架
四.解决方案
答:1.举个通俗的例子,现在,假如有一个超级大的电子商务网站,网站拥有10万个JSP页面,并且每个JSP都引用了同一个JSP,我们称这个JSP页面为A吧。你就是这个网站的开发人员,有一天要求修改页面A,不能一个一个修改,要花费很多时间,有了tiles,就可以更改一点,从而十万个统一更改了
五。编码实战
七、参考文献
百度,书籍
八.更多讨论
1. tiles有没有替代方案?
答: Sitemesh3.0
2.tiles需要添加什么依赖?
答:<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-extras</artifactId>
<version>3.0.5</version>
</dependency>
3.tiles.xml的布局是怎样的?
答:
<?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>
<!-- 主布局 -->
<definition name="layout" template="/WEB-INF/mainLayout.jsp"/>
<!-- 主布局 -->
<!-- 项目 -->
<definition name="myView" extends="layout">
<put-attribute name="title" value="这是title1"/>
<put-attribute name="head" value="/WEB-INF/head.jsp" />
<put-attribute name="body" value="/WEB-INF/body1.jsp"/>
<put-attribute name="foot" value="/WEB-INF/foot.jsp" />
</definition>
“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。
这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧~