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

  • 相关阅读:
    [SharePoint 2010] 自定义字段类型开发(二)
    [SharePoint 2007/2010]Query SharePoint Calendar Event
    打印出带颜色的调试信息
    c语言调试开关
    c语言调试接口
    字符串截取
    黑客
    【原创】洛谷 LUOGU P3379 【模板】最近公共祖先(LCA) -> 倍增
    【转载】从头到尾彻底理解KMP
    【原创】tarjan算法初步(强连通子图缩点)
  • 原文地址:https://www.cnblogs.com/freeabyss/p/3219906.html
Copyright © 2011-2022 走看看