• 中文
    • English
  • 注册
  • 查看作者
    • 9:页面导入

      一.  前言

      一个网站的很多页面,都会有一些固定的区域是重复的,比如网站的logo或者底部的版权信息等等。在网站设计的时候,我们一般会将这些重复的区域写成一个个的单独的文件,哪个网页需要,就在哪个网页导入即可。导入又分为静态导入和动态导入。

      二.  静态导入

      使用include指令可以完成页面的静态的导入,比如将logo.jsp和bottom.jsp导入index.jsp:

      index.jsp:

      <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
      <!DOCTYPE html>
      <html>
      <head>
          <title>Title</title>
      </head>
      <body>
      <%@ include file="logo.jsp"%>
      <p>网站内容</p>
      <%@ include file="bottom.jsp"%>
      </body>
      </html>

      logo.jsp

      <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
      <!DOCTYPE html>
      <html>
      <head>
          <title>Title</title>
      </head>
      <body>
      <img src="https://zhangjia.io/wp-content/uploads/2018/12/zhangjialogo.png" alt="logo">
      </body>
      </html>

      bottom.jsp

      <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
      <!DOCTYPE html>
      <html>
      <head>
          <title>Title</title>
      </head>
      <body>
          <p>
              CopyRight 2017-2019 张甲博客
          </p>
      </body>
      </html>

      三.  动态导入

      使用jsp:include动作进行动态导入,动态导入可以使用jsp:param向被导入页面传参,而静态导入不可以。

      index.jsp

      <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
      <!DOCTYPE html>
      <html>
      <head>
          <title>Title</title>
      </head>
      <body>
      <jsp:include page="logo.jsp" />
      <p>网站内容</p>
      <jsp:include page="bottom.jsp">
          <jsp:param name="url" value="zhangjia"/>
      </jsp:include>
      <%--    传参的话,就要加结束标签,而且这个注释不能加入到jsp:include标签中--%>
      </body>
      </html>

      bottom.jsp:

      <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
      <!DOCTYPE html>
      <html>
      <head>
          <title>Title</title>
      </head>
      <body>
          <p>
              CopyRight 2017-2019 张甲博客
          </p>
      
          <%
              out.print(request.getParameter("url"));
          %>
      </body>
      </html>

      注意,如果直接访问bottom.jsp,request获取的是null,但是打开idnex.jsp,因为index.jsp里面包括了bottom.jsp,所以index.jsp里面会输出url的value值,即zhangjia

      山东省·济南市
    • 0
    • 0
    • 0
    • 1.4k
    • 请登录之后再进行评论

      登录

      赞助本站

      • 支付宝
      • 微信
      • QQ

      感谢一直支持本站的所有人!

      单栏布局 侧栏位置: