JSP指令
JSP可以通过指令元素而影响容器翻译生成java类的整体结构。
指令的语法:
<%@directive {attr="value"}* %>
其中, directive 为指令名, attr 指该指令对应的属性名,一个指令可能有多个属性。
JSP中常用的指令有三个:page、include、taglib.
1.page指令
page 指令是最为复杂的一个指令,共有 13 个属性。 page 指令作用于整个 JSP 页面,可以将指令放在 JSP 页面任何一个位置。
-
import
属性
import
属性
用来引入
JSP
文件需要使用的类。如下代码所示:
<%@page import="java.util.*,java.io.*" %>
<%@page import="com.etc.vo.*" %>
上述代码可以在 JSP 文件中使用,引入需要使用的类。
可以使用逗号同时引入多个包,也可以在一个 JSP 文件中多次使用 import 。
值得注意的是, import 是 page 指令中唯一一个可以在一个 JSP 文件中多次出现的属性,其他属性在一个 JSP 文件中只能出现 一次。
-pageEncoding属性
pageEncoding 属性用来 设置 JSP 文件的页面编码格式。如下代码所示:
pageEncoding =“utf-8"%>,上述代码设置当前JSP的页面编码格式是utf-8。
session 属性
session 属性用来 设置 JSP 页面是否生成 session 对象。该属性默认值为 true ,可以设置成 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 文件翻译插入到相应位置。