Tiles框架使用心得

大家好,我是IT修真院上海分院第3期学员,一枚正直善良的java程序员,今天给大家分享一下,修真院java任务中的一个知识点:Tiles框架使用。

首先Tiles框架主要是为了创建可重用的组件。怎么理解呢,这里的组件指的是jsp代码,很多时候比如3个jsp文件中会出现相同的header或body或footer,那么这就造成了代码重复,而通过Tile框架可将3个页面中相同的header和footer分离出来放到一个jsp中作为组件以达到重用的目的。

下面贴代码解说,我有2个jsp,这两个页面中的header(首部)和footer(底部)都是一致的如下图:

首部图
底部图

修真院官网绝大多数页面的首部和底部都和上图中的一致,如果每个页面都把首部和底部写一遍会造成大量的 重复代码,因此比较好的做法是使用Tiles框架将可重用的部分分离出来形成一个组件。


下面是分离的首部和底部代码:


jsp代码文件说明

footer.jsp,该jsp文件中是2个页面共有的底部分离出来的代码:


footer分离代码

header.jsp,该jsp文件同样是2个页面共有的首部分离出来的代码:


header分离代码

至此,已将两个页面中共有的部分分离出来了,分离出来以后肯定是要进行重组形成一个新的页面的。首部和底部有了,那么还缺一个body部分,而body部分两个页面是不同的,因此需各自定义<body>的jsp文件。

两个页面分别是首页和职业介绍页面,两个页面中的首部和底部都相同如上所述。home.jsp是首页的<body>部分,IntroductionJob.jsp是职业介绍页面的<body>部分。


上面已经讲解了如何进行分离,下面讲讲如何进行重组形成一个新的jsp页面。

maven配置依赖:

<dependency>

   <groupId>org.apache.tiles</groupId>

   <artifactId>tiles-extras</artifactId>

   <version>3.0.7</version>

</dependency>

<dependency>

   <groudId>org.apache.tiles</groudId>

   <artifactId>tiles-servlet</artifactId>

   <version>3.0.7</version>

</dependency>

<dependency>

   <groudId>org.apache.tiles</groudId>

   <artifactId>tiles-jsp</artifactId>

   <version>3.0.7</version>

</dependency>

在SpringMvc配置文件中配置Tiles视图解析器,视图解析器是为了解析controller返回的值来匹配路径来找到对应的jsp的。


Tiles框架视图解析器

tiles配置文件tiles.xml(可随意),放置在WEB-INF目录下


Tiles框架配置文件

上图中的name为templet的是基础模板,并给这个模板填充了header和footer。然后name为*.page的从templet继承,同样拥有了header和footer,并添加了body部分,最终形成了一个拥有header,body,footer的jsp页面。其中values="/jsp/{1}.jsp/中的{1}是获取*匹配的内容,因为我的controller处理完毕返回了一个home.jsp,因此Tiles框架视图解析器起作用找到该Tiles的定义并重组页面形成新的jsp并将model交给该jsp处理,该jsp渲染视图完毕后返回。


下图是基础模板:


及触摸板

在tiles配置中给基础模板填充了footer和header会自动将footer.jsp和header.jsp中的内容拼接到该模板中,然后*.page从模板继承又是另一个jsp,并填充了body部分就形成了一个填充了header,footer,body的新页面。


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

技能树.IT修真院“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。

这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧~我的邀请码:16318412,或者你可以直接点击此链接:http://www.jnshu.com/login/1/16318412

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 大家好,我是IT修真院上海分院第02期学员,一枚正直善良的Java程序员。 今天给大家分享一下,修真院官网task...
    idiot丶伟伟阅读 3,982评论 0 0
  • 大家好,我是IT修真院上海分院第02期学员,一枚正直善良的Java程序员。 今天给大家分享一下,修真院官网task...
    idiot丶伟伟阅读 3,547评论 0 0
  • 大家好,我是IT修真院郑州分院第6期的学员李亚衡,一枚正直纯洁善良的JAVA程序员 今天给大家分享一下,修真院官网...
    一筒君阅读 1,666评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,073评论 19 139
  • 本章主要内容包括: 将model数据展现为HTML JSP视图的使用 在前面的章节中,我们主要关注点在于编写控制来...
    hoxis阅读 6,900评论 2 12

友情链接更多精彩内容