这部分是关于jsp指令元素的内容。
指令元素是用于在JSP转换为Servlet时,提供整个JSP页面的相关信息,指令不会产生任何输出。指令通常以"<%@"标签开始,以"%>"标签结束,语法格式如下:
<%@ 指令名 属性1="值1" 属性2="值2"……%>
一、 page指令
page指令即页面指令,用来定义整个JSP页面的属性和相关功能。其中最常用的属性有import和pageEncoding等属性,这两个属性也是在新建JSP页面时默认有的,他们的值可以设置多次,但其他的属性只能指定一个值,否则会导致转换错误。
例如:
<%@ page language="Java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.*" %>
下面是page指令主要属性的用法
1. language属性:用于指定脚本元素中使用的脚本语言,默认值为Java。
2. contentType属性:用于指定JSP页面输出内容的类型和字符编码方式。
Page指令contentType属性的使用示例
<%@ page language="java" contentType="application/msword; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" ";>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
这部分信息将在word文档中打开看到!
</body>
</html>
运行后的结果为:
3. pageEnconding属性:用来指定JSP页面的字符编码,如果没有设置,则当前页面采用contentType设置的编码方式。如果当前页面包含了中文,最好把值设置为UTF-8或者GBK,否则中文将乱码。
4. info属性:用于指定页面描述信息,值可以为任意字符串,如作者版本等信息。
5. import属性:用来为JSP页面导入在脚本元素要用到的Java类。
6. session属性:用来指定当前页面的内置对象session是否可用,默认值为true。
7. errorPage属性:用来指定当前页面在运行过程中发生异常时,转向哪里进行处理。
8. isErrorPage属性:用来指定当前JSP页面是否为异常处理页面,当值为ture时,才可以在当前页面中使用exception对象的相关方法来获取JSP页面的出错原因等信息,默认值为false。
errorPage属性和isErrorPage属性使用示例:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page errorPage="; %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" ";>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>page指令errorPage属性的使用</title>
</head>
<body>
<h1>这个页面发生错误,将转去页面</h1>
<%
int a=30;
int b=0;
int c=a/b;
%>
结果为:<%=c %>
</body>
</html>
Page_i
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page isErrorPage="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" ";>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>isErrorPage属性的使用</title>
</head>
<body>
<h1>这是一个异常处理页面</h1>
<b>错误描述:</b>
<%=exce() %><br/>
<b>详细出错原因:</b>
<pre>
<%
exce(new java.io.PrintWriter(out));
%>
</pre>
</body>
</html>
运行结果如下:
9.buffer属性:用来设置JSP内置对象out的缓冲区大小或不使用缓冲区。若取值为none,表示不使用缓冲区,若设置数值,单位为KB,默认值为8KB。
10.autoFlush属性:指定当out 对象的缓冲区被填满时,是否自动刷新,取值为布尔型。
11.isELlgnored属性:指定JSP页面中是执行还是忽略EL表达式,默认值为true。
二、 include指令
include指令的作用是在JSP页面中静态包含一个文件,被包含文件必须和当前JSP页面同在一个Web应用中。所谓静态包含,就是当前JSP页面和包含的页面合成一个新的JSP页面,然后JSP引擎再将这个新的JSP页面转换为Servlet文件。语法格式如下:
<%@ include file="relativeURL" %>
在实际应用中,往往需要一个网站的所有页面使用统一的页头和页脚内容,如果将这些统一的内容定义在文件中(或),其他页面就可以使用include指令包含文件了。
三、 taglib指令
taglib指令的作用是在JSP页面中引入所使用的标签库,这个指令还可以给标签库指定一个前缀,当JSP页面用到该标签库中的标签时,就可以使用前缀来表示该标签库。
在页面中使用taglib指令可以方便地使用标签库中定义的任意标签,以达到简化页面代码的目的。指令的语法格式如下:
<%@ taglib url="标签库的url地址" prefix="前缀名"%>
在JSP页面使用标签库时,一般格式为:
<前缀名:标签名>
标签名为标签库中定义的标签的具体名称。