• 中文
    • 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.pro/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.7k
  • 请登录之后再进行评论

    登录
    单栏布局 侧栏位置: