1、指令元素语法:html
<%@ 指令名 属性="值" %>
(一)page指令java
page指令能够指定页面使用的脚本语言、实现的接口,导入的软件包等。web
用于设置JSP页面的全局属性,这些属性将用于和JSP容器通讯,控制所生成的servlet结构。page指令做用整个JSP页面,能够将怕个指令放在文档中任何地方。session
下表列出与Page指令相关的属性:多线程
属性 | 描述 |
---|---|
buffer | 指定out对象(输出流)是否具备缓冲区,并设置缓冲区大小。none不具备缓冲功能,或者其余具体数值,默认值为8kb。<%@ page buffer=”none|nkb“ %> |
autoFlush | 指定缓冲区是否自动进行强制输出,默认为true。当为true时,缓冲区满时仍正常输出,false时产生异常。当buffer为none时,不能设置为false。 <%@ page autoFlush=”true|false“ %> |
contentType | 指定JSP页面的MIME格式以及网页的编码格式。默认格式为ISO-8859-1。<%@ page contenType=”txt/html;charset=”ISO-8859-1“ %> |
errorPage | 指定当JSP页面发生异常时须要转向的错误处理页面<%@ page errorPage=”error.jsp“ %> |
isErrorPage | 指定当前页面是否能够做为另外一个JSP页面的错误处理页面,默认为false。 <%@ page isErrorPage=”true|false“ %> |
extends | 指定义该JSP页面生成的Servlet继承于哪一个父类,必须指定该类全名,即包名加类名,通常使用默认值。少用,慎用,可能限制JSP页面编译能力。<%@ page extends=”继承的父类“ %> |
import | 导入要使用的Java类,能够是环境变量中所指定目录下的类文件,也能够是web项目WEB-INF下的classes目录中的自定义文件。JSP默认导入的包有:java.lang.*;javax.servlet.*;javax.servlet.jsp.*;javax.servlet.http.*; page指令中惟一允许在同一文档出现屡次的属性。<%@ page import="导入的包名" %> |
info | 设置JSP页面的相关信息,能够为任意字符串。可经过Servlet.getServletInfo来获取该信息。<%@ page info=”this is a jsp page“ %> |
isThreadSafe | 指定JSP页面是够支持多线程使用,true时支持多线程,同时能处理多个用户的请求,false则不能,只能当个用户,默认为true。 <%@ page isThreadSafe=”true|false“ %> |
language | 定义JSP页面所用的脚本语言,默认是Java,目前只有java一种,不排除之后有其余语言的加入。<%@ page language=”java“ %> |
session | 指定JSP页面是否使用session,默认为true.<%@ page session=”true|false“ %> |
isELIgnored | 指定是否执行EL表达式,true则忽略,不执行。默认为false。<%@ pageisELIgnored=”ture|false“ %> |
pageEncodeing | 定义web容器对jsp响应的字符编码,默认格式为ISO-8859-1。<%@ pageEncodeing=”characterSetISO-8859-1“ %> |
(二)include指令jsp
page指令能够指定页面使用的脚本语言、实现的接口,导入的软件包等。this
JSP能够经过include指令来包含其余文件。被包含的文件能够是JSP文件、HTML文件或文本文件。include指令将会在jsp编译时插入文件, 被包含的文件执行完,该JSP页面才恢复执行。编码
这个包含的过程是静态包含(静态包含:先包含后编译;动态包含(include动做标记): 先 编译 后 包含 )。url
注意:在被包含的文件中不要使用和主页重复的HTML标签。这样会影响原jsp文件中一样的标签致使错误。spa
由于原文件和被包含文件能够互相访问彼此定义的变量和方法,因此要避免变量和方法在命名上的问题。
Include指令的语法格式以下:
<%@ include file="文件相对 url 地址" %>
(三) Taglib指令
JSP API容许用户自定义标签,一个自定义标签库就是自定义标签的集合。
Taglib指令引入一个自定义标签集合的定义,包括库路径、自定义标签。
一个jsp页面容许有多个taglib指令,但不能有重复的前缀
Taglib指令的语法:
<%@ taglib uri="uri" prefix="prefixOfTag" %>
uri属性:定位标签库描述符的位置。惟一标识和前缀相关的标签库描述符,可使用绝对或相对URL。
tagDir属性:指示前缀将被用于标识在WEB-INF/tags目录下的标签文件。
prefix属性:定义了taglib前缀名称。不可使用保留前缀和空前缀,遵循XML命名空间的命名约定。