jsp指令是告诉Web容器如何将JSP页面转换为相应servlet的消息。
指令分为三种:
- 页面指??令
- 包含指令
- taglib指令
<
%@ directive attribute="value" %>
JSP页面指令
page指令定义了适用于整个JSP页面的属性。
JSP页面指令的语法
<
%@ page attribute="value" %>
JSP页面指令的属性
- 进口
- 内容类型
- 延伸
- 信息
- 缓冲
- 语言
- 被忽略
- isThreadSafe
- 自动冲洗
- 会议
- pageEncoding
- errorPage
- isErrorPage
import属性用于导入类, 接口或包的所有成员。类似于java类或接口中的import关键字。 |
<
html>
<
body>
<
%@ page import="java.util.Date" %>
Today is: <
%= new Date() %>
<
/body>
<
/html>
2)contentType
contentType属性定义HTTP响应的MIME(多用途Internet邮件扩展)类型。默认值为“ text / html; charset = ISO-8859-1”。
contentType属性的示例
<
html>
<
body>
<
%@ page contentType=application/msword %>
Today is: <
%= new java.util.Date() %>
<
/body>
<
/html>
3)扩展
extend属性定义了将由生成的servlet继承的父类, 很少使用。
4)信息
此属性仅设置JSP页面的信息, 该信息稍后将使用Servlet接口的getServletInfo()方法进行检索。
信息属性示例
<
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属性设置缓冲区大小(以千字节为单位)以处理JSP页面生成的输出。缓冲区的默认大小为8Kb。
缓冲区属性示例
<
html>
<
body>
<
%@ page buffer="16kb" %>
Today is: <
%= new java.util.Date() %>
<
/body>
<
/html>
6)语言
language属性指定JSP页面中使用的脚本语言。默认值为“ java”。
7)被忽略
我们可以通过isELIgnored属性忽略jsp中的表达语言(EL)。默认情况下, 其值为false, 即默认情况下启用了表达式语言。稍后我们将介绍表达式语言。 |
<
%@ page isELIgnored="true" %>
//Now EL will be ignored
8)isThreadSafe
Servlet和JSP都是多线程的, 如果要控制JSP页面的这种行为, 可以使用page指令的isThreadSafe属性。isThreadSafe的值为true。如果为false, 则Web容器将序列化多个请求, 也就是说, 它将等到JSP完成对请求的响应之前, 再将另一个请求传递给它。如果使isThreadSafe属性的值如下所示: |
在这种情况下, Web容器将生成servlet, 如下所示:
public class SimplePage_jsp extends HttpJspBase
implements SingleThreadModel{
.......
}
9)错误页面
errorPage属性用于定义错误页面, 如果当前页面中发生异常, 它将被重定向到错误页面。
errorPage属性的示例
//index.jsp
<
html>
<
body>
<
%@ page errorPage="myerrorpage.jsp" %>
<
%= 100/0 %>
<
/body>
<
/html>
10)isErrorPage
【JSP指令】isErrorPage属性用于声明当前页面是错误页面。
注意:异常对象只能在错误页面中使用。isErrorPage属性的示例
//myerrorpage.jsp
<
html>
<
body>
<
%@ page isErrorPage="true" %>
Sorry an exception occured!<
br/>
The exception is: <
%= exception %>
<
/body>
<
/html>
推荐阅读
- JSP Scriptlet标记(脚本元素)
- Jsp包含include指令
- JSP隐式对象
- JSP表达式标签
- JSP声明标签
- JSP API介绍
- JSP 异常隐式对象
- 使用Tomcat服务器在Eclipse IDE中创建JSP
- JSP配置隐式对象