`

静态和动态的include

 
阅读更多

对于java在开发中公共的部分最好封装到相应的类中,便于重复使用;

对于javascript也同样最好把公共部分封装到js文件中(如果jsp页面中存在大量的javascript脚本,最好把它放到js文件中);

对于jsp文件中如果需要采用公共的页面或jsp投中经常引用相同的内容(例如:每个页面都需要import大量相同的类库)可以把这些内容放到单独的jsp页面中,在每个页面中可以采用include指令将公共的jsp页面引入。

 

 

静态include主要是对静态页面的引入,不会检查所包含文件的变化

<% @ include file="include.html" %>

静态时不能传参数。

如以下是不正确的,会报错:找不到文件

<%@ include  file="/controlCenter/jspCodeControl.jsp?jspCodeFrameId=1&jspFileWithPath=/moduleOne/moduleOneTemp.jsp'"%>

 

 

动态include主要是对动态页面的引入,它总是会检查所引入的页面的变化,如果所包含的资源在请求间发生变化

,则下一次请求包含<jsp:include>动作的jsp时,将包含资源的新内容。

另一方面,include指令在转换时一次性地将内容复制到jsp中,如果所包含的资源发生变化,则使用include指令的jsp将不能反应出新的内容,除非重新编译该jsp。

<jsp:include>动作包含的属性:

page:指定所包含资源的相对url路径,该资源必须时同一web应用程序的组成部分。

flush:指定在执行include动作后是否应刷新缓冲区,在jsp1.1中,该属性必须设置为真。

使用动态include动作时,根据jsp1.1规范,jsp容器允许判断通过include指令包含的资源是否发生变化。如果发生变化。则容器可以重新编译包含该资源的jsp,然而,该规范并没有提供向容器表明某个包含的资源发生变化的机制。

动态include的优点和不足:

优点:

1:引入和同步一个动态的页面,使jsp页面更具灵活性

2:能和不同页面之间进行信息的交互和快捷的实现方式。

3:改变了原始的所有页面编码都放在一个jsp上,使不同的功能分别写在不同页里,通过动态include方式引用到页面,更易于编码,更易于管理。

不足:

动态的引入时需要频繁的变化和页面信息的更新和交互,要占用大量的资源开销。降低页面的访问速度。如果在没必要动态引入的情况下,不要使用动态include

应该注意事项:

1:<jsp:include>动作的flush属性必须要定义,不定义会出现转换错误。而且设置的flush必须要为true

2:在<jsp:include>动作中指定的页面必须是同一web应用程序的一部分。如果引入的是非同一web应用的页面将导致请求时错误。

 

分享到:
评论

相关推荐

    jsp的Include方式

    在实际项目中,我们通常会创建一些通用的头部、尾部或者侧边栏组件,通过静态Include将它们包含到每个页面中,这样可以提高代码的维护性和一致性。而动态Include则常用于实现动态生成的内容,如用户个性化信息。 5...

    JSP中动态include与静态include的区别介绍

    2、静态include纯粹是把代码写在外面的一种共享方法,所有的变量都是可以和include它的主文件共享,两者高度紧密结合,不能有变量同名的冲突.而页面设置也可以借用主文件的. 静态INCLUDE 用法:&lt;&#37;@ include ...

    jsp中include指令静态导入和动态导入的区别详解.docx

    JSP 中 Include 指令静态导入和动态导入的区别详解 JSP 中的 Include 指令可以实现静态导入和动态导入两种方式。静态导入和动态导入是 JSP 中 Include 指令的两种不同的实现方式,它们之间有着明显的区别。 静态...

    JSP下动态INCLUDE与静态INCLUDE的区别分析

    动态INCLUDE   用jsp:include动作实现 &lt;jsp include page=”included.jsp” flush&gt;它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。...1. 静态include的结果是把其他jsp引入

    jsp中include指令静态导入和动态导入的区别详解

    JSP中的include指令有两种方式:静态导入和动态导入。了解它们之间的区别,对于开发高效且易于维护的Web应用至关重要。 首先,我们要了解什么是静态导入。在JSP中,静态导入是通过指令%@include file=...

    openSSL头文件和静态库文件以及动态库

    OpenSSL是一个强大的安全套接字层(SSL)密码库,包含各种主要的密码...同时,理解静态库和动态库的区别,有助于你在不同场景下做出合适的选择。在项目开发过程中,确保所有依赖项完整无误,是保证程序正常运行的前提。

    CentOS7环境下编译的protobuf 3.1版本的静态库和动态库,里面包含protoc程序和include目录

    CentOS7环境下编译的protobuf 3.1版本的静态库和动态库,里面包含protoc程序和include目录,经过测试程序 protoc --version 之后终端显示的是当前protobuf的版本号,说明编译的库能够正常使用

    Qt静态库与动态库创建与演示

    本教程将深入探讨如何在Windows XP环境下,利用Qt 4和MinGW编译器创建和使用静态库与动态库。 首先,让我们理解静态库和动态库的基本概念。静态库(.lib文件)是将库函数编译到目标代码中,形成一个完整的可执行...

    JSP中include指令静态导入和动态导入的区别.pdf

    `include`指令有两种形式:静态导入和动态导入,它们在处理和执行时有所不同。 1. **静态导入** 静态导入是通过`&lt;%@include file="relativeURLSpec"%&gt;`指令来完成的。当JSP编译器遇到静态导入指令时,它会将指定的...

    jsp中的代码重用技术

    - **静态include**:通过`&lt;%@ include file="included.jsp" %&gt;`语句实现。这种包含方式在编译时执行,因此速度快,但灵活性较低,不便于维护。 - **动态include**:使用`&lt;jsp:include page="included.jsp" /&gt;`。...

    Jni测试引用第三方静态库和动态库demo

    本文将深入探讨如何在JNI中引用第三方的静态库(.a)和动态库(.so),并基于提供的"Jni测试引用第三方静态库和动态库demo"进行分析。 首先,我们需要了解静态库和动态库的区别。静态库是直接链接到目标程序中的,...

    静态链接库lib和动态链接库dll区别

    "静态链接库lib和动态链接库dll区别" 静态链接库lib和动态链接库dll都是共享代码的方式,但它们有着根本的区别。静态链接库lib是将库中的所有指令都包含在最终生成的EXE文件中,而动态链接库dll则不必被包含在最终...

    windows平台curl 64位静态库和动态库

    压缩包内包含两个文件夹curl_静态库和curl_动态库,内容说明如下: curl_静态库下面: bin子目录包含curl.exe及动态库libcurl.dll include子目录包含头文件 lib子目录包含动态库的导入库文件libcurl.lib curl_...

    静态页面实现 include 引入公用代码的示例

    这时,我们可以使用 gulp 和 gulp-file-include 插件来实现静态页面引入公用代码。 首先,我们需要安装 gulp 和 gulp-file-include 插件: ```bash npm init npm install gulp --save-dev npm install gulp-file-...

    C++创建调用静态动态库

    库分为静态库和动态库两种类型,每种都有其特定的用途和优缺点。本教程通过三个示例深入讲解如何在C++中创建和调用这两种库。 一、静态库 静态库是在编译时直接链接到目标程序中的库,使得程序包含库的所有代码,...

    静态包含与动态包含的区别

    - **动态包含**:被包含页面可以访问主页面的部分作用域变量(如 `request` 和 `session`)。 综上所述,在实际项目开发中选择使用哪种包含方式时,应综合考虑页面内容的变化频率、性能需求以及灵活性要求等因素。...

    Linux 如何使用gcc生成静态库和动态库

    Linux 使用 GCC 生成静态库和动态库 在 Linux 系统中,使用 GCC 编译器可以生成静态库和动态库。静态库和动态库是两种不同的库类型,它们的主要区别在于代码被载入的时间不同。 静态库是在编译时被载入到可执行...

Global site tag (gtag.js) - Google Analytics