include
指令用于在编译阶段包括一个文件。这个指令告诉容器在编译阶段将其他外部文件的内容合并到当前JSP文件中。可在JSP页面的任何位置使用include
指令进行编码。
本指令的一般用法形式如下:
<%@ include file = "relative url" >
include
指令中的文件名实际上是一个相对URL。如果只指定一个没有关联路径的文件名,那么JSP编译器会假定该文件与JSP在同一个目录中。
可以使用XML编写上述代码效果相同,如下所示:
<jsp:directive.include file = "relative url" />
include
指令的一个很好的例子是要一个页面中包括多个公共页面的内容,如:比如一个主页中包函公共页眉和页脚。
为了更好的演示,打开Eclipse,创建一个动态Web项目:IncludeDirective,并创建以下三个JSP文件:
完整的项目结构如下图所示 -
以下是main.jsp
的内容 -
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>主页(Main.jsp)</title> </head> <body> <%@ include file="header.jsp"%> <center> <p>这是Main.jsp页面的内容~</p> <p>include指令用于在编译阶段包括一个文件。这个指令告诉容器在编译阶段将其他外部文件的内容合并到当前JSP文件中。可在JSP页面的任何位置使用 include指令进行编码。</p> </center> <%@ include file="footer.jsp"%> </body> </html>
以下是header.jsp
的内容 -
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <center> <h2>include指令示例</h2> <p> <a href="main.jsp">首页</a> | <a href="header.jsp">页头</a> | <a href="footer.jsp">页尾</a> </p> </center> <br />
以下是footer.jsp
的内容 -
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%!int pageCount = 0; void addCount() { pageCount++; }%> <% addCount(); %> <center> <p>Copyright © 2018 | 备案号:琼ICP备13001417号-3 | 联系我们:769728683@qq.com | 访问次数:<%=pageCount%></p> </center>
现在将上面三个JSP文件保存在根目录下,并尝试访问http://localhost:8080/IncludeDirective/main.jsp
。应该会看到以下输出 -
刷新main.jsp
,会发现页面匹配计数器不断增加。
可以根据您的应用功能来设计网页; 建议将网站的动态部分保存在单独的文件中,然后将其包含在主文件中。当需要更改网页的一部分时,只需要修改少数几个地方就可以轻松实现。