JSP指令是告诉Web容器如何将JSP页面翻译成相应Servlet的指令。

有三种类型的指令:

  • 页面指令
  • 包含指令
  • 标签库指令

JSP指令的语法

<%@ directive attribute="value" %>  

JSP页面指令

页面指令定义适用于整个JSP页面的属性。

JSP页面指令的语法

<%@ page attribute="value" %>  

JSP页面指令的属性

  • import
  • contentType
  • extends
  • info
  • buffer
  • language
  • isELIgnored
  • isThreadSafe
  • autoFlush
  • session
  • pageEncoding
  • errorPage
  • isErrorPage

1)import

import属性用于导入类、接口或包的所有成员。它类似于Java类或接口中的import关键字。

import属性的例子

<html>  
<body>  
  
<%@ page import="java.util.Date" %>  
Today is: <%= new Date() %>  
  
</body>  
</html>  

2)contentType

contentType属性定义HTTP响应的MIME(多用途互联网邮件扩展)类型。默认值是"text/html;charset=ISO-8859-1"。

contentType属性的例子

<html>  
<body>  
  
<%@ page contentType=application/msword %>  
Today is: <%= new java.util.Date() %>  
  
</body>  
</html>  

3)extends

extends属性定义生成的servlet将继承的父类。这个属性很少使用。

4)info

这个属性简单地设置JSP页面的信息,稍后可以通过Servlet接口的getServletInfo()方法检索。

info属性的例子

<html>  
<body>  
  
<%@ page info="composed by Sonoo Jaiswal" %>  
Today is: <%= new java.util.Date() %>  
  
</body>  
</html>  

Web容器将在结果servlet中创建一个getServletInfo()方法。例如:

public String getServletInfo() {  
  return "composed by Sonoo Jaiswal";   
}  

5)buffer

buffer属性设置以千字节为单位的缓冲区大小,以处理JSP页面生成的输出。缓冲区的默认大小是8Kb。

buffer属性的例子

<html>  
<body>  
  
<%@ page buffer="16kb" %>  
Today is: <%= new java.util.Date() %>  
  
</body>  
</html>  

6)language

language属性指定JSP页面中使用的脚本语言。默认值是"java"。

7)isELIgnored

通过isELIgnored属性,我们可以在jsp中忽略表达式语言(EL)。默认情况下,其值为false,即默认启用表达式语言。

<%@ page isELIgnored="true" %>//Now EL will be ignored  

8)isThreadSafe

Servlet和JSP都是多线程的。如果您想控制JSP页面的这种行为,可以使用页面指令的isThreadSafe属性。isThreadSafe的值为true。如果您将其设置为false,Web容器将序列化多个请求,即它将等待JSP响应一个请求之后再传递另一个请求给它。如果您将isThreadSafe属性的值设置如下:

<%@ page isThreadSafe="false" %>

在这种情况下,Web容器将生成如下的servlet:

public class SimplePage_jsp extends HttpJspBase   
  implements SingleThreadModel{  
.......  
}  

9)errorPage

如果当前页面发生异常,errorPage属性用于定义错误页面,将重定向到错误页面。

errorPage属性的例子

//index.jsp  
<html>  
<body>  
  
<%@ page errorPage="myerrorpage.jsp" %>  
  
 <%= 100/0 %>  
  
</body>  
</html>  

10)isErrorPage

isErrorPage属性用于声明当前页面是错误页面。

注意:异常对象只能在错误页面中使用。

isErrorPage属性的例子

//myerrorpage.jsp  
<html>  
<body>  
  
<%@ page isErrorPage="true" %>  
  
 Sorry an exception occured!<br/>  
The exception is: <%= exception %>  
  
</body>  
</html>  

标签: JSP, JSP教程, JSP技术, JSP快速入门, JSP简单用法, JSP编程, JSP下载, JSP基本语法, JSP安装教程, JSP库, JSP指南, JSP基础教程, JSP初级教程, JSP进阶教程