美文网首页
tiles框架学习总结

tiles框架学习总结

作者: Sper | 来源:发表于2018-07-19 20:33 被阅读0次

    我是IT修真院的散修学员,正在学习java任务四,下面是我对tiles框架的总结

    三个概念

    template

    最终用于视图渲染的页面布局,他只是个模版,可以把固定不变的部分提前定义在其中,比如格式布局,以及颜色设置啥的。然后把可变的部分定义为attribute,后续通过在definition中根据个性化需求配置。

    attribute

    用来填充template ,可以是字符串, template (也就是jsp文件路径)以及definition。

    definition

    一个definition标签就代表一个tile,一个tile必须以一个template做根基,然后添加该template所需要的attribute。与template对比的话 , template重点在于确定该页面的整体布局结构。而使用definition ,以及definition的继承体系,重点在于实现jsp的复用。

    tile的配置文件

    在其中配置多个tile的定义,即多个definition标签,将来该配置文件被加载后就会获得多个相应的tile用来进行视图渲染。具体的语法不展开了。

    需要引入tiles约束文件

    这里使用的是dtd约束,需要在xml中添加

    "http://tiles.apache.org/dtds/tiles-config_3_0.dtd">

    这样才能使用标签及其子标签。

    加载tile配置文件

    如果不使用springmvc

    仅仅需要在web.xml中配置一个监听器即可

    如果使用springmvc框架

    需要在springmvc容器的配置文件中注册一个TilesConfigurer类型的bean

    使用tile

    如果不使用springmvc

    首先在要用来渲染的jsp文件中使用taglib指令引入tiles相关的标签库,就像引入jstl标签库那样。

    <%@ taglib uri="http://tiles.apache.org/tags-tiles"prefix="tiles"%>

    然后就可以使用具体的tiles标签来引入定义好的tile ,具体使用有两种方式

    传统方式就是直接通过tiles:insertDefinition标签来引入现成的tile

    另一种方式就是可以运行时合成,即通过相应标签修改某definition的attribute ,或者重新定义新的definition ,具体不展开

    如果使用springmvc

    如果像上面方式使用tile ,那不需要多余的配置,跟上面使用方式一样

    但是如果需要在controller中让某handler返回的逻辑视图名直接指向TilesConfigurer加载的tile ,用该tile做视图渲染,那就需要一个工具来为逻辑视图名匹配到t目标tile ,这个工具就是一个视图解析器

    按照官方文档来说,目前已知有三种视图解析器都能完成此项任务,分别是TilesViewResolver , UrlBasedViewResolver和ResourceBundleViewResolver。三种解析器配置方式不同,一般常用的就是TilesViewResolver  ,他是专用于tiles视图解析的。

    关键问题

    现在在springmvc的配置文件中可能存在两个视图解析器

    一个是用于tiles视图解析的TilesViewResolver

    一个是用于jsp文件视图解析的InternalResourceViewResolver

    现在从一个handler中返回一个逻辑视图名,  如果存在同名的jsp逻辑视图名和tile名,那如何区分?通过配置两个视图解析器的优先级(p:order="xxx"指定)   ,优先级高的视图解析器得到执行,最终的视图就是该解析器的解析结果。

    其他高级功能

    在官网有详细的介绍,参考http://tiles.apache.org/framework/tutorial/index.html

    关于IT修真院

    欢迎到IT修真院学习IT技术,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄一对一可见指导。快来与我一起学习吧http://www.jnshu.com,我真的获益良多!

    还有,那啥,虽然跟修真院老大未曾谋面,但他既然把夸他很帅列在了修真任务中,而我一路学习下来感觉其他任务都非常靠谱,那这个任务的质量肯定也不差,所以老大很帅!

    相关文章

      网友评论

          本文标题:tiles框架学习总结

          本文链接:https://www.haomeiwen.com/subject/cylxmftx.html