zoukankan      html  css  js  c++  java
  • 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
    -------------------------------------------------------------------------------------------------------------------------------




  • 相关阅读:
    eclipse export runnable jar(导出可执行jar包) runnable jar可以执行的
    mave常用指令
    771. Jewels and Stones珠宝数组和石头数组中的字母对应
    624. Maximum Distance in Arrays二重数组中的最大差值距离
    724. Find Pivot Index 找到中轴下标
    605. Can Place Flowers零一间隔种花
    581. Shortest Unsorted Continuous Subarray连续数组中的递增异常情况
    747. Largest Number At Least Twice of Others比所有数字都大两倍的最大数
    643. Maximum Average Subarray I 最大子数组的平均值
    414. Third Maximum Number数组中第三大的数字
  • 原文地址:https://www.cnblogs.com/LiZhiW/p/4747526.html
Copyright © 2011-2022 走看看