JSP指令
JSP可以通过指令元素而影响容器翻译生成java类的整体结构。
指令的语法:
<%@directive {attr="value"}* %>
其中,
directive
为指令名,
attr
指该指令对应的属性名,一个指令可能有多个属性。
JSP中常用的指令有三个:page、include、taglib.
1.page指令
page
指令是最为复杂的一个指令,共有
13
个属性。
page
指令作用于整个
JSP
页面,可以将指令放在
JSP
页面任何一个位置。
import
属性
用来引入
JSP
文件需要使用的类。如下代码所示:
<%@page import="java.util.*,java.io.*" %>
<%@page import="com.etc.vo.*" %>
上述代码可以在
JSP
文件中使用,引入需要使用的类。
可以使用逗号同时引入多个包,也可以在一个
JSP
文件中多次使用
import
。
值得注意的是,
import
是
page
指令中唯一一个可以在一个
JSP
文件中多次出现的属性,其他属性在一个
JSP
文件中只能出现 一次。
-pageEncoding属性
pageEncoding
属性用来
设置
JSP
文件的页面编码格式。如下代码所示:
<%@page
pageEncoding
=“utf-8"%>,上述代码设置当前JSP的页面编码格式是utf-8。
-
session
属性
session
属性用来
设置
JSP
页面是否生成
session
对象。该属性默认值为
true
,可以设置成
false
。如下代码所示:
<%@page session="false"%>, session属性值设置为false后,该JSP翻译生成的类中将没有内置对象session,该JSP不参 与会话。
- errorPage 属性
errorPage
属性设置
JSP
页面的错误页面。当
JSP
中发生异常或错误却没有被处理时,容器将请求转发到错误页面,如下代码 所示:<%@page errorPage="error.jsp"%>This is my JSP page. <br><%=100/0%><br>
显然,访问该页面将发生数学异常,而且并没有对异常进行处理,那么将跳转到错误页面
error.jsp
-isErrorPage属性
isErrorPage
属性默认值是
false
,可以设置为
true
。在
JSP
的错误页面中,将
isErrorPage
设置为
true
,则该页面翻译生成的
Java
类中,将生成
exception
内置对象。在
error.jsp
中加入代码:
<%@page isErrorPage="true"%>
上述代码将error.jsp页面设置为错误页面,所以,在error.jsp翻译生成的Java类中的_jspService方法中将生成exception内 置对象
注意:即使一个页面没有设置 isErrorPage =“true” ,也可以作为错误页面使用,区别在是否有内置对象 exception 内置对 象产生。
2.include指令
include
指令是
JSP
中另外一个常用指令,用来静态包含其他页面。
所谓静态包含,指的是在翻译期间,把包含的页面也翻译到当前页面的
Java
文件中,所谓
Java
源文件就实现“二合一”。 在
main.jsp
中编写如下代码:<%@include file="copyright.jsp"%>
过程:翻译
main.jsp
时,会把
copyright.jsp
文件翻译插入到相应位置。