1. page指令
page指令通常位于JSP页面的顶端,一个JSP页面可以使用多条page指令。page指令的语法如下:
<%@page
[language="Java"]
[extends="package.class"]
[import="package.class|package.*,..."]
[session="true|false"]
[buffer="none|8KB|size KB"]
[autoFlush="true|false"]
[isThreadSafe="true|false"]
[info="text"]
[errorPage="relativeURL"]
[contentType="mimeType[;charset=characterSet]"|"text/html;charSet=ISO-8859-1"]
[pageEncoding="ISO-8859-1"]
[isErrorPage="true|false"]
%>
- language:声明当前JSP页面使用的脚本语言的种类,因为页面是JSP页面,该属性的值通常都是java,该属性的默认值也是java,所以通常无需设置。
- extends:指定JSP页面编译所产生的Java类所继承的父类,或所实现的接口。
- import:用来导入包默认导入的包有:java.lang.*、javax.servlet.*、javax.servlet.jsp.*、javax.servlet.http.*。
- session:设定这个JSP页面是否需要HTTPSession。
- buffer:指定输出缓冲区的大小。输出缓冲区的JSP内部对象:out用于缓存JSP页面对客户浏览器的输出,默认值为8KB,可以设置为none,也可以设置为其他的值,单位为KB。
- autoFlush:当输出缓冲区即将溢出时,是否需要强制输出缓冲区的内容。设置为true时为正常输出;如果设置为false,则会在buffer溢出时产生一个异常。
- info:设置该JSP程序的信息,也可以看作其说明,可以通过Servlet.getServletInfo(_)方法获取该值。如果在JSP页面中,可直接调用getServletInfo()方法获取该值,因为JSP页面的实质就是Servlet。
- errorPage:指定错误处理页面。
- isErrorPage:设置本JSP页面是否为错误处理程序。如果该页面本身已是错误处理页面,则通常无需指定errorPage属性。
- contentType:用于设定生成网页的文件格式和编码字符集,即MIME类型和页面字符集类型,默认的MIME类型是text/html;默认的字符集类型为ISO-8859-1。
- pageEncoding:指定生成网页的编码字符集。
2. include指令
使用include指令,可以将一个外部文件嵌入到当前JSP文件中,同时解析这个页面中的JSP语句(如果有的话)。这是个静态的include语句,他会把目标页面的其他编译指令也包含进来,但动态的include则不会。
include编译指令的语法如下:
<%@include file="relativeURL"%>
如果被嵌入的文件经常需要改变,建议使用操作指令,因为它是动态的include语句。
下面的页面是使用静态导入的示例代码
<@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>静态include测试</title>
</head>
<body>
<!-- 使用include编译指定导入页面 -->
<%@include file="scriptlet.jsp"%>
</body>
</html>
以上页面中include语句使用静态导入语法将scriptlet.jsp页面导入本页,该页面的执行效果和scriptlet.jsp的执行效果相同。
需要指出的是:静态包含还会将被包含页面的编译指令也包含进来,如果两个页面的编译指令冲突,那么页面就会出错。
3. taglib指令:
用于定义和访问自定义标签。关于taglib指令,见自定义标签库。