javaWeb之jsp(三)jsp编译指令

jsp编译指令的基本概念

  • jsp编译指令:通知jsp引擎的消息。
  • 作用:是设置jsp程序的属性以及由该jsp生成的serverlet里的属性

    指定jsp程序使用的脚本语言,文件编码等等。
    他不会直接生成输出

  • 常用的三种编译指令

    • include :用于指定如何包含另一个页面。
    • page:该指令是针对当前页面的指令。
    • taglib:用于定义和访问自定义标签。

1. page指令:

  page指令主要用于定义当前jsp的全局指令,包括当前jsp所使用的脚本语言类型,需要导入java包的列表等等,一般情况下page编译指令位于页面的最上方,一个页面可以有多个编译配置指令。

page指令属性:

  • language:
      声明当前jsp页面使用的脚本语言种类,若使用jsp引擎支持的java语言之外的语言需要在此设置。
      默认语言为java。
      语法:language = “java”
  • import:
      该属性用于JSP引入Java包中的类,如果你要包含多个包的话,将这些包的名称用逗号隔开放在一个import中,或者使用多个import分别声明。它是唯一可以多次指定的属性。 在使用Java包中的元素之前一定要先声明该包的import引用。
      默认包:java.lang.* javax.servlet.* javax.servlet.jsp.* javax.servlet.http.* .
      语法:import = “java.util.*” 导入多个包时用逗号隔开。
  • contentType:
      contentType属性定义了JSP页面字符编码和页面响应的MIME类型。
       默认:MIME类型是text/html,默认的字符集是ISO-8859-1。默认字符集可以在eclipse里设置。
       contentType=”text/html; charset=ISO-8859-1”
  • seccion:
      设定这个JSP页面是否支持session机制,默认为true,所以一般不需要设置,保持默认值即可。
  • errorPage:
      指定错误处理页面的地址。如果本页面产生了异常或者错误,而该JSP页面没有对应的处理代码,此时就会自动调用该属性所指向的JSP页面。
  • isErrorPage:
      和errorPage属性配合使用。设置本JSP页面是否为错误处理页面。
  • info:
      指定任何一段字符串,该字符串被直接加入到翻译好的页面中。可以通过Servlet.getServletInfo()方法得到。
      语法:info=”text”
  • extends:
      指定JSP编译生成的Servlet所继承的父类或所实现的接口。请特别谨慎使用这一功能,因为,服务器也许已经定义了一个。JSP规范对不完全理解其隐意的情况下使用此属性提出警告。
  • buffer:
      指定输出缓冲区的大小。JSP的隐含对象out(JSP有九大隐含对象或者说内置对象)用于缓存JSP(其实是Servlet)对客户端浏览器的输出,默认值为8KB,可以设置为none,也可以设置为其他的值,单位为KB。
  • autoFlush:
      当输出缓冲区即将溢出时,是否需要强制输出缓冲区的内容。设置为true时可以正常输出,设置为false时,则会在buffer溢出时产生一个异常。默认为true。最常用的是import,contentType,pageEncoding.
      最常见的最简单的JSP模版为:
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>
  • isELIgnored:
      如果设定为真,那么JSP中的表达式被当成字符串处理。

${2000/20}

在isELIgnored="true"时输出为 ${2000/20}, 而isELIgnored="false"时输出为100.0。默认为false

2. include指令:

  Include指令的功能是在JSP编译时插入包含的文件。包含的过程是静态的。它可以把内容分成更多可管理的元素,如包括普通页面的页眉或页脚的元素。包含的文件可以是JSP、HTML、文本或是Java程序。
  include指令的语法: <%@ include file=”relativeURL” %>
  其中只有一个file属性,这个属性指定了被包含文件的路径。
  注意:在include指令中包含页面和被包含页面同一类型的参数不能被定义两次。


3.taglib指令 :

taglib指令允许页面使用用户定制的标签。
taglib指令的语法如下:<%@ taglib (uri=”tagLibraryURI” | tagdir=”tagDir”) prefix=”tagPrefix” %>
taglib指令属性:

1.uri:该属性唯一地标识和前缀(prefix)相关的标签库描述符,可以是绝对或者相对的URI。这个URI被用于定位标签库描述符的位置。
2.tagdir:该属性指示前缀(prefix)将被用于标识安装在/WEB-INF/tags/目录或其子目录下的标签文件,一个隐含的标签库描述符被使用。
3.prefix:定义一个prefix:tagname形式的字符串前缀,用于区分多个自定义标签。以jsp:,jspx:,java:,javax:,servlet:,sun:和sunw:开始的前缀被保留。前缀的命名必须遵循XML名称空间的命名约定。在JSP 2.0规范中,空前缀是非法的。

你可能感兴趣的:(javaWeb)