包含概念
在一个项目中会出现多个页面 ,这些页面头部信息和尾部信息可能是一样的
多个页面中编写相同的代码, 出现了代码的重复现象,
解决方案 :
将头部信息和尾部信息定义到独立的文件中 , 之后再需要的地方包含就可以了
在 jsp 中有两种包含方式:
静态包含: <%@ include file="被包含的文件路径"%>
静态包含在编译之前,会先将需要导入的文件包含到目标页,成为一个 jsp 页面再进行转换
最终只生成一个 *.java 文件和一个 *.class 文件,
动态包含: <jsp:include page="被包含的文件路径"/>
如果被包含的文件是静态资源, 则和静态包含一样
如果包含的动态资源(*.jsp)会将需要导入的文件先编译成独立的 *.class 文件, 再包含到目标页面.
Demo: 静态包含
1.定义一个头部 jsp 文件
1 <%@ page pageEncoding="UTF-8"%> 2 <h1> 3 页面的头部信息 4 </h1>
2..定义一个尾部 jsp 文件
1 <%@ page pageEncoding="UTF-8"%> 2 <h1> 3 页面的尾部信息 4 </h1>
3.定义一个主体页
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html> 4 <html> 5 <head> 6 <meta charset="UTF-8"> 7 <title>Insert title here</title> 8 </head> 9 <body> 10 <!-- 公共头部部分 --> 11 <%@ include file="tou.jsp"%> 12 <h1>这是主体部分</h1> 13 <%@ include file="wei.jsp"%> 14 </body> 15 </html>
Demo: 动态包含
主体页
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html> 4 <html> 5 <head> 6 <meta charset="UTF-8"> 7 <title>Insert title here</title> 8 </head> 9 <body> 10 <jsp:include page="tou.jsp"></jsp:include> 11 <h1>页面的主体部分</h1> 12 <jsp:include page="wei.jsp"></jsp:include> 13 </body> 14 </html>