IT修真院·小课堂丨互联网职业小课堂在线学习平台
Tiles有什么用处,为什么要用Tiles,如果不使用Tiles,可以实现公共部分的复用吗?     中品

辅导师兄


【修真院java 小课堂】TILES有什么用处,为什么要用TILES,如果不使用TILES,可以实现公共部分的复用吗?

大家好,我是IT修真院深圳分院第16期的学员廖志鹏,一枚正直纯洁善良的java后端程序员,今天给大家分享一下,修真院官网java任务四,深度思考中的知识点

1.背景介绍

什么是TILES?

Tiles 是一种JSP布局框架,主要目的是为了将复杂的jsp页面作为一个的页面的部分机能, 然后用来组合成一个最终表示用页面用的,这样的话,便于对页面的各个机能的变更及维护。


2.知识剖析

TILES有什么用?

所有的网站都有一些共通的东西:所有的网站都是有网页构成,而且它们彼此分享着共通的结构。这些页面有着共通的布但是页面和页面之间又有不同的地方,而且不同的地方通常都在同样的位置


TILES怎么用?

1、引入tiles相关的jar包

2、mvc配置文件添加tiles的视图解析器和配置器(指向布局文件)

3、配置布局文件以定义布局

4、配置模板页



3.常见问题

为什么要用TILES?

以修真院官网为例子,很多地方都是头部和底部不变的,改变的只是中间的body部分;

虽然现在的官网的页面不是用的tiles实现的,但是可以用tiles实现这样的效果

那么为什么要用tiles呢?可以反过来思考,我用tiles这样做有什么益处:

举个例子,如果我想在头部加一个现实当前时间的状态,但是官网有这么多页面,

难道我要写这样一行代码,然后每一个页面都粘贴一次吗,这未免太麻烦

用了tiles之后,只需要在头部添加这样一段代码以实现显示当前时间就行了,而且是每一个页面都实现,因为头部是复用的


4.编码实战

<!--    布局-->
   <definition name="defaultTemplate" template="/WEB-INF/views/layout/defaultLayout.jsp">
       <put-attribute name="tittle" value="/WEB-INF/views/layout/title.jsp" />
       <put-attribute name="top" value="/WEB-INF/views/layout/top.jsp" />
       <put-attribute name="head" value="/WEB-INF/views/layout/head.jsp"/>
       <put-attribute name="menu" value="/WEB-INF/views/layout/menu.jsp"/>
       <put-attribute name="body" value="" />
       <put-attribute name="footer" value="/WEB-INF/views/layout/footer.jsp"/>
   </definition>

模板页

<html>
<head>
<title>
<tiles:insertAttribute name="tittle"/>
</title>
</head>
<body>
<tiles:insertAttribute name="top"/>
<tiles:insertAttribute name="head"/>
<tiles:insertAttribute name="menu"/>
<tiles:insertAttribute name="body"/>
<tiles:insertAttribute name="footer"/>
</body>
</html>



5.扩展思考

如果不使用TILES,可以实现公共部分的复用吗?

可以的,还有其它的页面布局工具

SiteMesh 是一个网页布局和修饰的框架,利用它可以将网页的内容和页面结构分离,以达到页面结构共享的目的。

JSP Layout 是一个用来实现 JSP 布局支持的简单示例项目。该项目只需要一个 Servlet 类,一些配置即可

比较:前两者都必须使用预先配置好的布局,使用XML文件来定义布局,真正的数据显示页面无法灵活控制所需的布局; 而 JSP Layout 是一个超轻量级的布局控制,要使用哪个布局文件,由目标页面通过代码进行控制



6.参考文献

https://www.cnblogs.com/handsome1013/p/6140720.html

https://blog.csdn.net/u012492220/article/details/17075379



7.更多讨论

问:1、如何定义页面的活动部分和公共部分?

答:在页面布局的布局文件中配置,先配置好全局布局,然后再定义单个页面的

问:2、如何将页面拼成我想要的样子?

答:在模板页定义好各个部位的存放位置,以定义整个页面的布局

问:3、如何快速上手tiles

答:先跑一个demo先,把其作用弄清楚,如何再尝试自己做修改


8.结束语:

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~


评论

[散修弟子]JAVA-7190 发表于 2019-11-16 17:48:23 #1

符合格式,通过

回复

请您登录 后进行评论

loading