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则拿目标页面插入原有页面。

  • 相关阅读:
    java1200_060_把数字格式化为货币字符串
    ccf_201712-02
    ccf_201712-01
    算法笔记-----单源最短路径之Bellman-Ford算法
    算法笔记-----贪心算法----加里比海盗船--最优装载问题
    算法笔记-----最优二叉搜索树
    SHTSC2017酱油记
    并不能来一发50AC
    【bzoj4514】: [Sdoi2016]数字配对 图论-费用流
    【bzoj1066】: [SCOI2007]蜥蜴 图论-最大流
  • 原文地址:https://www.cnblogs.com/freeabyss/p/3219906.html
Copyright © 2011-2022 走看看