指令元素:当Jsp源文件被解析成Servlet时指示Jsp引擎做出相应操作
指令范围:当前页面
page指令:设定Jsp页面的全局属性和相关功能
语法格式:<%@page 属性="值"%>
language属性:设置Jsp页面使用的语言(jsp早早夭折,支持语言只有Java)。
extends属性:设置Jsp页面继承的Java类(本质就是servlet java类,所以和Java一样也能继承,设置此属性可能会影响服务器性能优化)。
import属性:设置Jsp导入类包(嵌入式Java代码有的需要包,比如显示时间,就要用到java.util包)。
导入格式:
多个包写在一起,用逗号隔开 <%@page import="java.text.*,java.util"%>
多个包分别导入 <%@page import="java.text.*"%> <%@page import="java.util.*"%>
{
java.lang.*
javax.servlet.*
javax.servlet.jsp.*
javax.servlet.http.*
}
上面的这些类是默认导入到jsp页面的。
pageEncoding属性:设置页面编码格式(通常是UTF-8)。
contentType设置:页面的MIME类型和编码,用于返回浏览器网页的内容类型和字符编码格式(通常是"text/html;charset=UTF-8")。
{
如果pageEncoding存在,jsp页面字符编码格式就按pageEncoding决定,
如果pageEncoding不存在,那就按contentType属性的charset决定。
如果contentType不存在,那就采用默认的ISO-8859-1编码。
}
session属性:页面是否允许使用session会话对象,布尔值,默认true。
buffer属性:页面out输出对象的缓冲区大小,默认8kb,单位kb。(大小建议设置8的倍数)。
autoFlush属性:页面缓冲区满时,是否自动刷新缓冲区,布尔值,默认true,(false时缓冲区满就会抛异常)。
isErrorPage属性:设置页面为异常处理页面,用来处理另一个Jsp页面的错误。
errorPage属性:设置页面发生异常时的处理页面,与之对应的异常处理页面的page指令的isErrorPage属性必须为true(设置了以后,任何异常都会被忽略,优先跳转到对应的异常处理页面)。
isThreadSafe属性:设置页面是否支持多线程访问,布尔值,默认true,表示当前Jsp页面被转换成Servlet后,会以多线程方式来处理多个用户的请求。false时,则转换后的Servlet会实现SingeThreadMode接口,并以单线程方式来处理多个用户请求。
isELIgnored属性:设置网页是否忽略el表达式,布尔值,true时忽略。
info属性:可以设置为任意字符串,一般用来设置作者,编写时间等。可以用Servlet.getServletInfo()获取所设置的值。
include指令:用于向当前页面引入一个静态文件,可以是html文件,jsp文件,其他文本文件,java代码。编译时执行。多用于不需要改变并且相同的页面部分,可以减少代码冗余。要防止标签冲突,(例如一个网页不能有两个<html><html></html></html>)。
语法格式:<%@include file="URL"%>
tagilb指令:开发人员可以使用标签库来定义自己的jsp标记,页面设计人员可以直接使用标签库中的自定义标记,同时隐藏底层实现细节。开发者可以通过前缀来引用标签库中的标签。
语法格式:<%@ taglib prefix="前缀名" uri="标记库的uri地址"%>
使用方法:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<c:set var="name" value="hello"/>