1. 静态标签
概述:有些内容我们可能同时在多个页面中都公有的包含。比如页脚,我们很可能在页面1,页面2,页面3…都包含相同的页脚。如果我们想要修改就需要一个一个页面修改异常繁琐,而且在实际工作中每页的代码量都巨大。所以我们可以用静态标签
将页脚或者其它内容单独提取出来,然后想要使用时调用即可。实际开发中一般使用用静态包含比较多。
演示 静态标签
创建一个传统 main.jsp页面
<html>
<head>
<title>Title</title>
</head>
<body>
头部信息<br>
主题内容<br>
页脚信息<br>
</body>
</html>
现在我们创建一个新的 footer.jsp 将页脚放入。
<html>
<head>
<title>Title</title>
</head>
页脚<br>
1223
</body>
</html>
修改 main.jsp 页面,并使用静态标签包含页脚的内容
<%@ include file=“footer.jsp”%> 就是静态包含
<html>
<head>
<title>Title</title>
</head>
<body>
头部信息<br>
主题内容<br>
<%-- <%@ include file="footer.jsp"%> 就是静态包含
file 属性是要包含的jsp 路径 --%>
<%@ include file="footer.jsp"%>
</body>
</html>
输出:
以后只需要修改 footer.jsp 中的内容就可以。静态包含的底层原理其实很粗暴,就是把每一处引用 footer.jsp 内容的地方,直接复制粘贴上去。
2. 动态标签
概述:动态和静态的表现是差不多的,但是底层的实现原理不一样。通俗的讲,动态标签就是在 jsp 运行时将内容加入。动态标签的缺点是方法调用的不确定性可能会导致bug。
演示 动态标签
<jsp:include page=“footer.jsp”></jsp:include> 动态包含
将上面的静态标签修改一下
<html>
<head>
<title>Title</title>
</head>
<body>
头部信息<br>
主题内容<br>
<%-- <jsp:include page="footer.jsp"></jsp:include> 这是动态包含
page 属性是指定要包含的jsp页面路径 --%>
<jsp:include page="footer.jsp"></jsp:include>
</body>
</html>
3. 标签 - 请求转发
<%-- 请求转发标签
page 是jsp的路径--%>
<jsp:forward page="footer.jsp"></jsp:forward>