zoukankan      html  css  js  c++  java
  • jsp基础语言-jsp指令

    jsp编译指令用于设置jsp程序的属性以及由jsp生成的servlet中的属性。

    jsp常用的编译指令有3个:include指令、page指令、taglib指令。

    一、page指令

    1、概念:用来设置整个JSP页面的相关属性和功能,其作用范围是整个JSP页面,包括使用include指令引用的其他文件。但是page指令不能作用于动态的包含文件,例如对使用<jsp:include>包含的文件,page指令的设置是无效的。一般情况下,page编译指令位于页面最上方,一个页面可以有多个编译配置指令。

    2、语法格式:<%@page attribute1="value1" attribute2="value2"... %>

    3、指令的属性:

    (1)language属性:定义当前JSP页面使用的脚本语言,默认为java。少数服务器支持JavaBean。

    (2)import属性:导入使用的包。jsp中用import指明多个包,用逗号隔开。

    (3)contentType属性:指定当前页面的MIME类型和字符编码。MIME类型有:text/plain、text/html(默认)、image/gif、image/jpeg等。默认字符编码方式:ISO-8859-1,若需要中文,可修改为GB2312或UTF-8。

    (4)pageEncoding属性:设定jsp源文件保存时所使用的编码。由于jsp文件要响应客户端的请求,因此它会被编译成一个servlet。而servlet是一个java类,java类在内存中是以Unicode进行编码的,若jsp引擎不知道jsp的编码格式,就无法进行解码,并将其转换成内存中的Unicode编码。

    (5)session属性:指定这个jsp页面是否支持session机制,默认为true。

    (6)extends属性:指定jsp编译生成的servlet所继承的父类或所实现的接口。

    (7)errorPage属性:指定错误处理页面的地址。若本页面产生了异常或者错误,而该jsp页面没有对应的处理代码,此时就会自动调用该属性所指向的jsp页面。

    (8)isErrorPage属性:与errorPage属性配合使用,指定当前页面是否可以作为另一个jsp页面的错误处理页面。

    (9)info属性:定义jsp页面的描述信息。在jsp页面中,可以直接调用getServletInfo()方法获取该值。这是由于jsp是servlet,而任何一个servlet都实现了servlet接口,servlet接口中含有getServletInfo()方法。

    (10)buffer属性:指定out对象使用缓冲区的大小。jsp的隐式对象out用于缓存jsp对客户端浏览器的输出,默认为8KB.

    (11)autoFlush属性:当输出缓冲区即将溢出时,是否需要强制输出缓冲区的内容,默认为true。设置为true时可正常输出;则会在buffer溢出时产生一个异常。

    (12)isThreadSafe属性:指定对jsp页面的访问是否为线程安全,默认为true。若设置为true,则表示该jsp文件支持多线程;若为false则表示不支持。

    (13)trimDirectiveWhitespaces属性:是否去掉指令前后的空白字符,默认为flase。该属性是jsp2.1规范中新增的;当属性值是true时,取消空白字符串。

    项目ch04案例:

    1、创建page.jsp页面,使0作为被除数:

         

    2、创建错误页面error.jsp:

     

    3、结果:http://localhost:8080/ch04/error.jsp

     

     使用page指令中的errorPage属性,当page.jsp页面出现异常时,内容跳转到error.jsp页面的内容,而地址栏中的地址没有改变,仍然为~~~page.jsp。

     二、include指令

    1、概念:include是jsp的静态包含指令,使用该指令可将一个外部文件包含到此jsp程序中。一般在jsp页面被编译成servlet时引入其中包含的HTML文件、jsp文件或文本文件。在include指令中,包含页面和被包含页面同一类型的参数不能被定义两次。include指令通常用来包含网址中经常出现的重复性页面,被包含文件中的任何一部分改变了,所有包含该文件的主jsp文件都需要重新进行编译。

    2、语法格式:<%@include file="文件路径" %>

    file必须是相对路径,不需要指定端口、协议、域名等。若路径以“/”开头,则该路径等同于参照jsp应用的上下文关系路径;若路径是以文件名或目录名开头,则路径就是当前jsp文件所在的路径。

    项目ch04案例:

    1、创建top.jsp页面

    2、创建footer.jsp页面

    3、使用include包含两个页面

    4、结果:http://localhost:8080/ch04/include.jsp

    三、taglib指令

    1、概念:允许页面使用用户自定义的标签。

    2、语法格式:<%@taglib (uri="tagLibraryURI" | tagdir="tagDir") prefix="tagPrefix" %>

    uri属性:用来指明自定义标记库的存放位置。该属性的唯一的标识和前缀相关的标签库描述符,可以是绝对或相对的URL。

    tagdir属性:指示前缀将被用于标识安装在/WEB-INF/tags/目录或子目录下的标签文件,一个隐含的标签库描述符被使用。

    prefix属性:定义一个prefix:tagname形式的字符串前缀,用于区分多个自定义标签。以jsp:、jspx:、java:、javax:、servlet:、sun:和sunw:开始的前缀被保留,前缀的命名必须遵循XML名称空间的命名约定。

    ch04项目案例:

    结果:http://localhost:8080/ch04/taglib.jsp

  • 相关阅读:
    WPF Caliburn 学习笔记(五)HelloCaliburn
    MSDN 教程短片 WPF 20(绑定3ObjectDataProvider)
    MSDN 教程短片 WPF 23(3D动画)
    比赛总结一
    HDU3686 Traffic Real Time Query System
    HDU3954 Level up
    EOJ382 Match Maker
    UESTC1565 Smart Typist
    HDU3578 Greedy Tino
    ZOJ1975 The Sierpinski Fractal
  • 原文地址:https://www.cnblogs.com/heisetianshi/p/10659426.html
Copyright © 2011-2022 走看看