JSP指令(directive)是为JSP引擎而设计,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分。
在JSP 2.0规范中定义了三个指令:
1.page指令
2.include指令
3.tablib指令
语法格式:
<%@ 指令 属性名="值" %>
<%@ page contentType="text/html;charset=utf-8"%>
page指令
page指令用于定义JSP页面的各种属性,无论page指令出现在JSP页面中的什么地方,它作用的都是整个JSP页面,page一般放置在JSP页面的起始位置。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
</body>
</html>
page指令的完整语法:
<%@ page
[ language="java" ] //定义JSP页面所用的脚本语言,默认是Java
[ extends="package.class" ] //指定servlet从哪一个类继承
[ import="{package.class | package.*}, ..." ] //导入要使用的Java类,多个用逗号隔开
[ session="true | false" ] //指定JSP页面是否使用session
[ buffer="none | 8kb | sizekb" ] //指定out对象使用缓冲区的大小
[ autoFlush="true | false" ] //控制out对象的缓存区
[ isThreadSafe="true | false" ] //指定对JSP页面的访问是否为线程安全
[ info="text" ] //定义JSP页面的描述信息
[ errorPage="relative_url" ] //指定当JSP页面发生异常时需要转向的错误处理页面
[ isErrorPage="true | false" ] //指定当前页面是否可以作为另一个JSP页面的错误处理页面
[ contentType="mimeType [ ;charset=characterSet ]" | "text/html ; charset=utf-8" ] //指定当前JSP页面的MIME类型和字符编码
[ pageEncoding="characterSet | utf-8" ] //编码方式
[ isELIgnored="true | false" ] //指定是否执行EL表达式
%>
errorPage属性和isErrorPage属性
errorPage属性指出错误后跳转的页面,设置值必须使用相对路径,如果以“/”开头,相对于当前Web应用程序的根目录,否则表示相对于当前页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" errorPage="errorPage.jsp"%>
这里指出了错误跳转的页面为同级目录下的errorPage.jsp
而错误页面errorPage.jsp设置isErrorPage属性为true表示当前页面为错误页面,从而可以获取exception对象
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" isErrorPage="true" %>
include指令
@include可包含任意的文件,是把文件的内容包含进来。
引入的其他文件为jsp文件,则会把两个jsp文件合并成一个servlet
语法:
<%@ include file="relative_url"%>
<%@ include file="test1.jsp" %>
使用include指令将会涉及到2个JSP页面,并将2个JSP翻译成一个servlet,所以这2个JSP页面的指令不能冲突(pageEncoding和导包除外)。
另外,脚本片段和声明中变量也不能重复。
Taglib指令
JSP API允许用户自定义标签,一个自定义标签库就是自定义标签的集合。
Taglib指令引入一个自定义标签集合的定义,包括库路径、自定义标签。
语法
<%@ taglib uri="uri" prefix="prefixOfTag" %>
uri属性确定标签库的位置,prefix属性指定标签库的前缀。
更多专业前端知识,请上 【猿2048】www.mk2048.com