zoukankan      html  css  js  c++  java
  • [转]JSP页面的动态包含和静态包含示例及介绍

    原文地址: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中的静态包含一样的。

  • 相关阅读:
    C
    B
    A
    G
    BZOJ_1208_&_Codevs_1258_[HNOI2004]_宠物收养所_(平衡树/set)
    Codevs_1230_元素查找_(set/Hash)
    POJ_2503_Babelfish_(Trie/map)
    POJ_2001_Shortest_Prefixes_(Trie)
    BZOJ_3670_[NOI2014]_动物园_(kmp)
    BZOJ_3196_二逼平衡树_(树套树,线段树+Treap)
  • 原文地址:https://www.cnblogs.com/dirgo/p/7284675.html
Copyright © 2011-2022 走看看