zoukankan      html  css  js  c++  java
  • JSP动作元素之include

    采用include指令导入的页面输入静态导入,采用<jsp:include…/>指令属于动态导入。

    语法格式如下:

    <jsp:include page="{relativeURL|<%=expression%>}" flush="true">
    	<jsp:param name="parameterName" value="patameterValue"/>
    </jsp:include>

    动态导入与静态导入的区别:

    静态导入是将被导入的页面的代码完全融入,两个页面融合在一个整天Servlet;而动态导入在Servlet中使用include方法来引入被导入页面的内容.

    静态导入时被导入页面的编译指令会起作用;而动态导入时被导入页面的编译指令则失去作用,只是插入被导入页面的body内容.

    动态包含还可以增加额外的参数

    代码实例:

                                                                               <%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>jsp-include test</title>
    </head>
    <body>
    <jsp:include page="scriptlet.jsp"/>
    </body>
    </html>

    查看此页面生成的Servlet的源代码:

                                                                               out.write("</head>
    ");
    out.write("<body>
    ");
    org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response,
         "scriptlet.jsp", out, false);
    out.write("
    ");

    我们可以看到动态导入只是使用include方法来插入目标内容,而不是将目标页面完全融入本页面中。

    include动作指令与forward动作指令十分相似,它们都是采用方法来引入目标页面,通过查看JSP页面所生成Servlet代码可以看出forward指令使用_jspx_page_context的forward()方法来引入目标页面,而include指令则使用通过JspRuntimeLibrary的include()方法来引入目标页面。区别在于,forward时,被forward的页面将完全代替原有页面;而执行include时,被include的页面只是插入原有页面。简而言之:forward拿目标页面代替原有页面,而include则拿目标页面插入原有页面。

  • 相关阅读:
    正则表达式
    Requests库基本使用(转载)
    prometheus + grafana + pushgateway 搭建监控可视化系统
    Docker的系统资源限制(转载)
    DAY8 文件操作
    DAY7 集合,深浅copy
    DAY6 Python之代码块,小数据池的详解
    DAY5 Python基础类型之字典
    DAY4 Python数据类型之列表
    DAY3 python基础之数据类型总览
  • 原文地址:https://www.cnblogs.com/freeabyss/p/3219906.html
Copyright © 2011-2022 走看看