• 02.JSP的3个编译指令


        本章介绍JSP的3个编译指令,在JSP中常见的编译指令有如下3个:
            1.page:用于针对当前页面的指令。
            2.include:用于指定包含另一个页面。
            3.taglib:用于定义和访问自定义标签。
        使用编译指令的格式如下:<%@ 编译指令 属性名1="属性值1" 属性名2="属性值2" %>

    1.page指令

        page指令通常位于JSP页面的顶端,一个JSP页面可以有多条page指令。page指令的语法格式如下:
    1. <%@ page
    2. [language="Java"]
    3. [extends="package.class"]
    4. [import="package.class│package.*,…"]
    5. [session="true│false"]
    6. [buffer="none│8kb│size kb"]
    7. [autoFlush="true│false"]
    8. [isThreadSafe="true│false"]
    9. [info="text"]
    10. [errorPage="relativeURL"]
    11. [contentType="mimeType[;charset=characterSet]""text/html;charSet=ISO8859-1"]
    12. [isErrorPage="true│false"]
    13. [pageEncoding ="UTF-8│GBK|..."]
    14. %>
        例如:<%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%>
    下面依次介绍page指令各属性的意义:
    1. language:声明当前JSP页面使用的脚本语言的种类,因为页面是JSP页面,该属性的值通常都是java,该属性的默认值也是java,所以通常无须设置。
    2. extends:指定JSP页面编译所产生的Java类所继承的父类,或所实现的接口。
    3. import:用来导入包。下面几个包是默认自动导入的,不需要显式导入。默认导入的包有:java.lang.*、javax.servlet.*、javax.servlet.jsp.*、javax.servlet.http.*。
    4. session:设定这个JSP页面是否需要HTTP Session。
    5. buffer:指定输出缓冲区的大小。输出缓冲区的JSP内部对象:out用于缓存JSP页面对客户浏览器的输出,默认值为8kb,可以设置为none,也可以设置为其他的值,单位为kb。
    6. autoFlush:当输出缓冲区即将溢出时,是否需要强制输出缓冲区的内容。设置为true时为正常输出;如果设置为false,则会在buffer溢出时产生一个异常。
    7. isThreadSafe:true模式表示它以多线程方式运行。false模式表示它是以Singleton模式运行。
    8. info:设置该JSP程序的信息,也可以看做其说明,可以通过Servlet.getServletInfo()方法获取该值。如果在JSP页面中,可直接调用getServletInfo()方法获取该值,因为JSP页面的实质就是Servlet。
    9. errorPage:指定错误处理页面。如果本页面产生了异常或者错误,而该JSP页面没有对应的处理代码,则会自动调用该指令所指定的JSP页面。因为JSP内建了异常机制支持,所以JSP可以不处理异常,即使是checked异常。
    10. isErrorPage:设置本JSP页面是否为错误处理程序。如果该页面本身已是错误处理页面,则通常无须指定errorPage属性。
    11. contentType:用于设定生成网页的文件格式和编码方式,即MIME类型和页面字符集类型,默认的MIME类型是text/html;默认的字符集类型为ISO-8859-1。
    12. pageEncoding:用于设定生成网页的编码。
    其中较为常用的已使用“特殊”标识,请注意!

    2.include指令

        静态的include编译指令,会将包涵的页面加入本页面,融合成一个页面,include编译指令语法如下:<%@ include file="filePath" %>
        在使用include指令时应注意以下几点:
    1. include编译指令是静态的,因为它是编译指令,所以include指令是静态包含。静态包含的意义:包含页面在编译时将完全包含了被包含页面的代码,即JSP页面编译生成的Servlet类中已经完全包含了被包含页面的代码。所以静态包含只是简单的替换,不能传递参数。
    2. 如果被包含的文件需要经常改变,建议使用<jsp:include page="filePath"/>操作指令,它是JSP动态包含语句。

    3.taglib指令

        taglib指令是用于定义当前JSP页面要使用的标签库,其语法格式如下:<%@ taglib prefix="标签前缀" tagdir="自定义标签文件夹" uri="" %>
        关于taglib指令在后面的 JSP自定义标签库、JSTL标准标签库 中会深入介绍,下面只介绍其属性值:
    1. prefix:标签的前缀,只在当前页面区分多个标签库
    2. tagdir:用于指定定义标签库的文件夹路径,一般在导入自定义标签库时使用该属性
    3. uri:定位标签库描述符的位置,唯一标识和前缀相关的标签库描述符,可以使用绝对或相对URL
    -------------------------------------------------------------------------------------------------------------------------------




  • 相关阅读:
    Integer to Roman leetcode java
    Reverse Integer leetcode java
    Binary Tree Maximum Path Sum leetcode java
    公司来了一个奇葩需求pppoe client+server+EOIP+vlan
    魔兽数据库-自然
    windows默认dns解析走ipv4而不走ipv6
    ROS支持BCP桥接(基于PPP隧道)
    几款比较好用的电动理发器推荐
    centos 拨号pptp在拨号成功和拨号失败的时候脚本处理!!!非常重要
    ros routeros 脚本命令script
  • 原文地址:https://www.cnblogs.com/LiZhiW/p/4747526.html
Copyright © 2020-2023  润新知