JSP指令-Page指令

1 JSP指令有哪些

JSP指令是通知Web容器如何在JSP页面翻译成相应的Servlet的消息。

指令分为三种:

  • Page指令
  • Include指令
  • Taglib指令

2 JSP指令语法

<%@ 指令名 属性名称="属性值" %>  

3 JSP Page指令

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

4 JSP Page指令的语法

<%@ page attribute="value" %>  

5 JSP Page指令的属性

page指令有以下属性:

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

接下来分别介绍它们:

5.1 import

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

import属性的示例:

<%@ page import="java.util.Date" %>
<html>
<html>
<head>
    <meta charset="utf-8">
    <title>一点教程网-import属性的示例</title>
</head>
<body>


Today is: <%= new Date() %>

</body>
</html>

5.2 contentType

contentType属性定义HTTP响应的MIME类型。默认值为"text/html;charset=ISO-8859-1",通常如果要显示中文内容,需要修改为:"text/html;charset=utf-8"。

<%@ page contentType="text/html;charset=utf-8" %>
<html>
<html>
<head>
    <meta charset="utf-8">
    <title>一点教程网-contentType属性的示例</title>
</head>
<body>


这是contentType属性的示例

</body>
</html>

5.3 extends

extend属性定义了将由生成的Servlet继承的父类,很少使用。

5.4 info

info属性仅设置JSP页面的信息,该信息将使用Servlet接口的getServletInfo()方法进行检索。

info属性的示例:

<%@ page info="该页面由一点教程网维护" contentType="text/html;charset=utf-8" %>
<html>
<html>
<head>
    <meta charset="utf-8">
    <title>一点教程网-info属性的示例</title>
</head>
<body>


这是info属性的示例

</body>
</html>

Web容器将在生成的Servlet中创建方法getServletInfo(),例如:

public String getServletInfo() {  
  return "该页面由一点教程网维护";   
}  

5.5 buffer

buffer属性设置缓冲区大小(以KB为单位)以处理JSP页面的输出。缓冲区的默认大小为8Kb。

buffer属性的示例:

<%@ page buffer="16kb" contentType="text/html;charset=utf-8" %>
<html>
<html>
<head>
    <meta charset="utf-8">
    <title>一点教程网-buffer属性的示例</title>
</head>
<body>


这是buffer属性的示例

</body>
</html>

5.6 language

language属性指定JSP页面中使用的脚本语言。默认值为"java",该值通常不用修改。

5.7 isELIgnored

我们可以通过isELIgnored属性忽略JSP中的EL表达语言。默认情况下,其值为false,即默认情况下启用了EL表达式语言。后面内容我们会介绍EL表达式语言

<%@ page isELIgnored="true" %>//忽略EL表达式

5.8 isThreadSafe

Servlet和JSP都是多线程的,如果要控制JSP页面的是否为多线程的行为,可以使用page指令的isThreadSafe属性。isThreadSafe的默认值为true。如果为false,则Web容器将序列化多个请求,也就是说,它将等到JSP完成对请求的响应之前,再将另一个请求传递给它。isThreadSafe属性的值如下所示:

<%@ page isThreadSafe="false" %>

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

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

5.9 errorPage

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

errorPage属性的示例:

<%@ page errorPage="error.jsp"  contentType="text/html;charset=utf-8" %>
<html>
<html>
<head>
    <meta charset="utf-8">
    <title>一点教程网-errorPage属性的示例</title>
</head>
<body>


<% int i = 100/0; %>

</body>
</html>

5.10 isErrorPage

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

isErrorPage属性的示例:

<%@ page isErrorPage="true" contentType="text/html;charset=UTF-8"  %>
<html>
<head>
    <title>一点教程网-JSP isErrorPage属性的示例</title>
</head>
<body>
系统异常,异常信息:<%= exception %>
</body>
</html>

注意:exception内置对象只能在错误页面中使用。

一点教程,一个分享编程知识的公众号。跟着站长一起学习和进步。

通俗易懂,深入浅出,一篇文章只讲一个知识点。

在公交、在地铁、在厕所都可以阅读,随时随地涨姿势。

文章不涉及代码,不烧脑细胞,人人都可以学习。

当你决定关注「一点教程」,你已然超越了90%的程序员!

一点教程二维码