jsp指令是告诉Web容器如何将JSP页面转换为相应servlet的消息。
指令分为三种:
- 页面指令
- 包含指令
- taglib指令
JSP指令的语法
<%@ directive attribute="value" %>
JSP页面指令
page指令定义了适用于整个JSP页面的属性。
JSP页面指令的语法
<%@ page attribute="value" %>
JSP页面指令的属性
- 进口
- 内容类型
- 延伸
- 信息
- 缓冲
- 语言
- 被忽略
- isThreadSafe
- 自动冲洗
- 会议
- pageEncoding
- errorPage
- isErrorPage
1)进口
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属性的值如下所示: |
<%@页面isThreadSafe =“ false”%>
在这种情况下, 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
isErrorPage属性用于声明当前页面是错误页面。
注意:异常对象只能在错误页面中使用。
isErrorPage属性的示例
//myerrorpage.jsp
<html>
<body>
<%@ page isErrorPage="true" %>
Sorry an exception occured!<br/>
The exception is: <%= exception %>
</body>
</html>
评论前必须登录!
注册