原文地址:http://www.jb51.net/article/53659.htm

一、静态包含

本文介绍JSP静态包含语句,即使用JSP的include指令来完成的包含操作。
JSP中,有两种包含其它文件的方式,一种是静态包含,一种是动态包含。本文介绍其中的静态包含。

所谓静态包含,跟ASP中的包含是一样的效果,即将所有包含的文件,先静态的包含进来,组成一个大的JSP文件,然后再经过编译器统一编译,生成HTML代码。

JSP静态包含的语句为:

复制代码代码如下:
<%@ include file="file.jsp" %>

这里的file.jsp就是要包含的文件,这里可以使用目录进行包含,可以是相对目录,可以是绝对路径。

JSP静态包含时,需要注意编码的问题。

在JSP文件中,我们必须指定页面的contentType为GBK、GB2312、UTF-8等才能在文档里面输入中文。如下:

复制代码代码如下:
<%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK" %>

但这里务必注意,当这个文件被静态包含时,它的编码如果跟包含它的文件的编码有一点点不一致,都会报错。所以,如果要静态包含,一定要把这两个文件的编码这一句(即contentType)确保完全一致。

二、动态包含

在ASP中没有动态包含这一说法,所有的包含都是静态包含。而JSP中,动态包含和静态包含有很大的区别。
本文来说一说JSP中的动态包含。

JSP中的动态包含不同于静态包含,它是在将各个JSP页面分别编译执行后,将大家执行的HTML结果,组合到一起向客户端浏览器输出的一种方式。

什么意思呢?

比如a.jsp,包含了b.jsp和c.jsp。a.jsp是无法共享b.jsp和c.jsp中设置的变量和函数的,也无法共享其逻辑结构。各自是分别编译并执行的。比如a执行后输出"a",b.jsp执行后输出"b",c.jsp执行后输出"c",那么最终将输出"abc"。

JSP动态包含的语法:

JSP动态包含不是使用的一个指令,而是使用的一个标签,如下:

复制代码代码如下:
<jsp:include page="file.jsp" />

或者:

复制代码代码如下:
<jsp:include page="file.jsp">
<jsp:param name="p1" vlaue="v1" />
</jsp:include>

上面两种语句并没有本质的区别,只是前者是一个简单的包含,而后者可以给被包含页面传递参数而已。参数传递到被包含页面时,可以使用request.getParameter("参数名")的方式来获取。

大家知道在asp中,如果使用include包含语句,那么被包含的文件上是不能带参数的。所以,在asp中的包含是跟jsp中的静态包含一样的。

[转]JSP页面的动态包含和静态包含示例及介绍的更多相关文章

  1. JSP中的动态包含和静态包含的区别

    本文转载自http://blog.csdn.net/xuxu198899223/article/details/8501044 1. 语法格式 (1)静态包含:<%@ include file= ...

  2. jsp的动态包含和静态包含

    jsp的动态包含和静态包含 例如:提取一个公共的页面(top.jsp)到/WEB-INF/jsp/common/目录下 动态包含: 被包含的页面也会独立编译,生成字节码文件,一般包含页面信息频繁变化的 ...

  3. jsp 动态包含和静态包含

    jsp其实就是一个servlet或者说一个java文件,做这样三件事:打印html标签到页面,处理逻辑,输出结果 现在有两个jsp文件,包含者1和被包含者2 静态包含,就是把2的java代码塞到1的代 ...

  4. 转:JSP之include动态包含与静态包含

    原文地址:http://www.cnblogs.com/ygj0930/p/6044676.html JSP中,include是一个经常用到的标签.当应用程序中所有的页面的某些部分(如标题.页脚和导航 ...

  5. JSP之include动态包含与静态包含

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6044676.html JSP中,include是一个经常用到的标签.当应用程序中所有的页面的某些部分(如标题. ...

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

    转自:https://m.jb51.net/article/43304.htm 动态INCLUDE 用法:<jsp:include page="included.jsp" f ...

  7. Jsp页面中动态的引入另一个jsp,jsp:include路径是变量的实现

    1 问题描述 在页面搭建时,会有这样的需求,希望局部页面动态的引用另一个jsp.这里的"动态"的意思引用的jsp的路径是个变量.举个例子,我们希望局部页面可能是page1.jsp或 ...

  8. Spring Security自定义认证页面(动态网页解决方案+静态网页解决方案)--练气中期圆满

    写在前面 上一回我们简单分析了spring security拦截器链的加载流程,我们还有一些简单的问题没有解决.如何自定义登录页面?如何通过数据库获取用户权限信息? 今天主要解决如何配置自定义认证页面 ...

  9. 【转】iOS动态库和静态库的简要介绍

    静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用. 什么时候我们会用到库呢?一种情况是某些代码需要给别人使用,但是我们不希望别人 ...

随机推荐

  1. Spring MVC freemarker使用

    什么是 FreeMarker? FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具. 它不是面向最终用 ...

  2. Git 配置(分布式版本控制系统)

    1.Mac Git 配置文件 既然已经在系统上安装了 Git,你会想要做几件事来定制你的 Git 环境.每台计算机上只需要配置一次,程序升级时会保留配置信息.你可以在任何时候再次通过运行命令来修改它们 ...

  3. Digital Color Meter 颜色值提取工具

    1.Digital Color Meter 简介 Digital Color Meter 是一款 Mac 自带的颜色值提取工具. 其它下载地址 Digital Color Meter for Mac, ...

  4. 【Algorithm】堆排序

    堆是一种完全二叉树结构,并且其满足一种性质:父节点存储值大于(或小于)其孩子节点存储值,分别称为大顶堆.小顶堆.堆一般采用数组进行存储(从下标为0开始).则父节点位置为i,那么其左孩子为2*i + 1 ...

  5. android:fitsSystemWindows属性的用法

    属性说明 fitsSystemWindows属性可以让view根据系统窗口来调整自己的布局:简单点说就是我们在设置应用布局时是否考虑系统窗口布局,这里系统窗口包括系统状态栏.导航栏.输入法等,包括一些 ...

  6. linux arm的高端内存映射

    linux arm的高端内存映射(1) vmalloc 高端内存映射   与高端映射对立的是低端映射或所谓直接映射,内核中有关变量定义它们的它们的分界点,全局变量high_memory,该变量定义在m ...

  7. Linux中断概述

    中断和异常 1.1中断的由来及实质 Linux内核要管理计算机上的硬件设备,首先要和他们通信.而处理器的速度跟外围硬件设备的速度往往不在一个数量级上,因此,如果内核采取让处理器向硬件发出一个请求,然后 ...

  8. 文件处理-智能检测编码的工具(chardet)

    一.chardet使用方法 问:假如你不知道你要处理的文件是什么编码可怎么办呢? import chardet f = open('通讯录.txt',mode='rb') data = f.read( ...

  9. FreeSWITCH协议参数之自定义sip header

    一.主动发送 1. 加入sip_h_前缀 这样FreeSWITCH就能自动加上后面的扩展头. 2. 示例 <action application="set" data=&qu ...

  10. 像网页开发一样调试ios程序

    PonyDebugger https://github.com/square/PonyDebugger