Tiles学习指南

                                                   Tiles学习指南

大家好,我是IT修真院北京分院第12期的java学员,一枚正直纯洁善良的程序员(帅不过老大),今天给大家分享一下,修真院官网Java任务4中的内容:Tiles框架。
Tiles框架具有如下特性:
1.创建可重用的模板
2.动态构建和装载页面
3.定义可重用的Tiles组件
4.支持国际化。
我们会发现很多网站只有中间是会变动的,其他都不会变动
例:在这里插入图片描述
在这次页面跳转中,只有body的内容改变了,但没有tiles时,为此我们需要写2个界面。即使多代码可以重用,直接复制黏贴,但是两个页面还好,但是如果有成千个网页呢?如果你做完后老板不满意要求你在页面的头部中加图片呢?这就是工程量巨大的工作。但是tiles框架帮我们解决了该问题,下面我将向大家分享我的学习心得。

要运用框架我们首先要下载tiles的jar包。在pom.xml中引入下面的代码:

<!-- https://mvnrepository.com/artifact/org.apache.tiles/tiles-extras -->
<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-extras</artifactId>
    <version>3.0.8</version>
</dependency>

接着审视我们的网页,给网页分层,提取出可复用部分
然后配置tiles的配置文件:
在这里插入图片描述
这里由于网页风格有两种,所以这里我设置了2个模板。
这里的< derinition > 标签中的name属性显而易懂是名字,template代表它是一个模板,后面放的是模板文件路径。 extends 继承,代表着我们这个页面继承了哪个模板文件。 < put-attribute > 是向模板文件中注入具体的jsp页面。

上面我们配置了tiles配置文件,设定了模板jsp,那么模板文件jsp如何接收各种jsp页面组件并组装成页面呢?
让我们看一下模板jsp页面配置。
在这里插入图片描述
配完模板jsp页面后还有最后一步,在springmvc中我们使用InternalResourceViewResolver直接返回一整个jsp页面,tiles组件化的页面怎么返回呢?tiles为我们提供了自己的视图解析器:

<bean id="tilesViewResolver" class="org.springframework.web.servlet.view.tiles3.TilesViewResolver">
   <!--优先启动tiles的视图解析器-->
    <property name="order" value="1"/>
</bean>
<!--tiles的路径配置-->
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
    <property name="definitions" value="/WEB-INF/tiles.xml"/>
</bean>

这样我们只需在controller层如return我们tiles配置文件中的具体页面名字即可。

接下来由于我的惨痛经历,我为大家分享下静态资源的应用问题?
WEB-INF下的文件外部无法访问所以我们要在webapp文件夹下建立静态资源文件夹(这里我建的是static,名字随意)
在这里插入图片描述
由于我们的springmvc的前置控制器设置如下
在这里插入图片描述
他默认拦截所有请求交给controller层导致无法访问静态资源,所以我们要在springmvc的配置文件中做如下配置:
在这里插入图片描述
由于 < mvc:default-servlet-handler > 会默认把所有的静态资源请求发给默认的servlet去处理,所以mvc:resource一定要放在他上面。(血与泪的教训,一直以为自己的静态资源访问路径不对,换了无数个位置,重配了无数次路径,最后居然只是调换了下mvc的配置顺序就见证了奇迹。自闭中。。。。。。。。。。。。。)

Tiles框架温馨提示:

程序运行最怕的就是jar包冲突,而且tiles的jar包跟slf4j的冲突真的很明显;这个自己使用exclusion排除吧;

今天的分享就到这了,希望大家多多指正,互相学习~

技能树.IT修真院

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

这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄一对一可见指导。

最重要的一点,老大最帅,没有之一,不接受反驳!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值