大家好,我是IT修真院深圳分院第18期学员,一枚正直善良的JAVA程序员。
今天给大家分享一下,修真院官网JAVA任务4中,tiles框架。
一、背景介绍
如果我们所有的页面都是靠对应的一个 jsp 页面来完成的话维护起来会非常繁琐,页面之间有很多相似的部分,如果我们想要修改这些部分那么我们就需要一个个的去修改对应的 jsp 页面。这个时候 Tiles 就是为了让我们从这种重复的体力活动中解放出来。
Tiles是一种 JSP 布局框架,主要目的是为了将 jsp 页面拆解为多个子页面,然后用来组合成一个最终表示用页面用的,比如 head、footer,这样的话,便于对页面的机能的变更及维护。tiles使得 springmvc 在页面的处理方面多了一种选择。并且更容易实现代码的重用。
二、demo 实战
下面我来演示一下如何在 springmvc 中使用 Tiles 框架。
1. 添加 tiles 的依赖文件
org.apache.tiles
tiles-extras
3.0.7
org.apache.tiles
tiles-servlet
3.0.7
org.apache.tiles
tiles-jsp
3.0.7
2. 在 WEB-INF 文件夹下添加 Tiles 的配置文件 tiles.xml
我们可以看到在这里首先我们定义了一个 base,这个名字可以任取,只要不和 controller 里面跳转的 string 一样就好。因为在 controller 里面跳转网页的时候设定的 string 就对应了我们配置文件中的 name 属性。
在这个基础框架中我们引用了一个布局文件 template.jsp【这个我后面会给出】,然后插入了预先设定好的 header 和 footer。因为这些部分对于我们的网站的每个网页来说都是一样的。
接下来我们定义了页面 home,它继承了上述的框架,并且插入了自己独一无二的 body 部分。
/p>
"-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN"
"http://tiles.apache.org/dtds/tiles-config_3_0.dtd">
3. 设定布局文件 template.jsp 与 其他子页面
template.jsp 内容如下:
${pageContext.request.contextPath}接下来,我们需要添加其他的子网页,让 tiles 来拼接它们。
header.jsp:
headerTiles
home.jsp:
hello tiles,I'm home.
footer.jsp:
3. 在 springmvc 配置文件中启用 Tiles
org.springframework.web.servlet.view.tiles3.TilesView
/WEB-INF/tiles.xml
最后我们在 controller 里面设置好跳转就可以把项目跑起来了!
需要注意的是 controller 只能跳转到 tiles.xml 中定义的 name,否则 tiles 不知道我们到底需要访问什么页面。
三、我们可能会遇到的问题
1. 网页中文乱码
由于我们把网页拆分成了多个子 jsp 文件,所以每个文件都是单独经过应用服务器编译后再去拼接,这个时候必须要每个 jsp 页面的上方添加如下标签,确定其编码格式。
四、其他的思考
1. tiles 套页面是否有学习的必要?
答:有的。虽然现在都流行使用 restful 的接口,前后端分离开发。但是这种套页面的开发方式在短时间内还会有一定的需求。
2. tiles 项目早已停止开发,是否有其他替代方案?
答:Sitemesh3.0
技能树.IT修真院
“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。
这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧~
老大最帅
本文是关于Java中Tiles框架的简单教程,介绍了Tiles作为JSP布局框架的作用,通过分解页面并组合成最终页面来简化维护。文章通过一个DEMO展示了在SpringMVC中集成和配置Tiles的步骤,包括添加依赖、配置tiles.xml、设定布局文件和解决可能出现的中文乱码问题。
536

被折叠的 条评论
为什么被折叠?



