JSP有三大指令:page指令,include指令,taglib指令
指令要在<%@ %>里编写。
其中 page指令之中又有多个属性。
page指令的属性:
1. import 属性:
与java中的import 作用相同,用于引入其他代码。
如: <%@page import= " java.util.* " %>
2. pageCodiing属性:
指定当前页面的编码。
若pageCoding没有指定,则默认为contextType的值。
若contextType也没有质地i,则默认为 iso-8859-1。但一般编码类型都设置成 UTF-8
3.contextType属性
指定网路文件的类型和网页编码。如:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
4.errorPage属性:
当页面出现异常时,则跳转到 errorPage指定页面。
如:<%@page errorPage="b.jsp"%>,表示当前页面发生异常错误时,自动跳转到 b.jsp。
5.isErrorPage属性:
用于指定当前 jsp 页面为错误页面。如上面的 b.jsp 页面,就应该在 b.jsp中 用<%@page isErrorPage="true"%>来指定b.jsp为错误页面。
只有一个页面被指定为错误页面,该页面才能使用内置对象exeption,来使用更多处理异常的功能。
6. isELIgnored属性:
设置该页面是否使用 EL表达式。
如: <%@page isELIgnored = "true"%>
7. language属性:
用于指定当前 JSP编译后语言,当前只能时java。
8. info属性:
当前JSP的说明信息
JSP实现异常跳转(跳转到自定义的异常页面)
text.jsp:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ page errorPage="/error.jsp" %>
<!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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%=1/0 %>
</body>
</html>
第三行指定发生异常时,跳转到服务端目录(即WebRoot目录)下的 error.jsp页面。
第11行发生异常,因为分母不能为0
error.jsp:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ page isErrorPage="true" %>
<!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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
error!
<%=exception.getMessage() %>
</body>
</html>
第三行指定此jsp页面为异常错误页面。
第十一行为此 jsp页面显示一个 error!
第十二行,利用内置对象exception 的getMessage()方法,获取发生异常的原因,并在浏览器上打印出来
运行效果:
当访问 text.jsp时,text.jsp第11行发生异常,自动跳转到 error.jsp 中,浏览器打印 error!/by zero