常用的JSP指令有page指令、include指令和taglib指令。
page指令:
定义JSP文件的全局属性,描述了与页面相关的信息,作用域为所在的JSP页面和其包含的文件,同一个JSP页面可以有多个page属性:<%@page %>
,其属性除了import之外其他的只能使用一次。
(1)Language属性:<%@page language=”java”%>
;
(2)Extends属性:用于指定JSP编译器父类的完整限定名,次JSP页面产生的Servlet将由该父类扩展而来:<%@page extends=”javax.servlet.http.HttpServlet”%>
,若使用extends属性指定父类,可能会限制JSP容器本身具有的能力,通常不建议使用;
(3)Import属性:用于导入JSP页面使用的Java API类库,该属性是所有page属性中可以多次设置的属性:<%@page import=”java.util.Date”%>
(4)Session属性:用于指定是否可以使用session对象,若允许页面参数HTTP会话,则设置为true,否则设为false,默认为true:
<body>
<p>session属性实例演示</p>
<hr>
sessionID号为:<%=session.getId() %>
<hr>
</body>
(5)buffer属性:用于设定页面缓冲区大小(字节数),默认值为8KB,为none时表示禁用缓冲区:<%@page buffer=”64kb”%>
或者<%@page buffer=”none”%>
(6)autoFlush属性:用于指定JSP页面缓冲区是否自动刷新,默认值为true,表示缓冲区满时自动刷新,否则,缓冲区满时抛出一个异常:<%@page autoFlash=”false”%>
(7)isThreadSafe属性:用于指定JSP页面是否能够处理一个以上的请求,默认为true,表示该页面能够收到多个请求,若为false,JSP引擎会对收到的请求进行排队,即当前页面同一时刻只能处理一个请求,建议将isThreadSafe属性设置为true,确保线程安全:<%@page isThreadSafe=”true”%>
(8)Info属性:用于指定JSP页面相关信息的文本,无默认值:<%@page info=”XXX”%>
(9)errorPage属性:用于指定错误页面
(10)contentType属性:用于指定内容的MIME类型和JSP页面的编码方式:<%@page contentType=content=”text/html;charset=UTF-8”%>
(11)pageEncoding属性:用于指定JSP页面的编码方式,默认值为ISO-8859-1,为支持中文可设置为UTF-8:<%@page pageEncoding=”UTF-8”%>
(12)isErrorPage属性:指定JSP页面是否为处理异常错误的页面,默认值为false,若设置为true,则固有的exception对象脚本元素可用
include指令
用于在当前JSP页面中加载需要插入的文件代码,即为页面插入一个静态文件,如JSP页面、HTML页面、文本文件或一段Java程序,这些加载的代码和原有的JSP代码合并成一个新的JSP文件;
格式为:<%@include file=”文件名”%>
Include指令只有一个file属性
例:<%@include file=”mian.jsp”%>
taglib指令
用于指定页面中使用的标签库及自定义标签的前缀
例:<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
其中,uri用于指定标记库存放分位置,prefix用于指定标记库中所有动作元素名中使用的前缀。