JSP的三个编译指令-page,include详解

来源:互联网 发布:pe安装linux 编辑:程序博客网 时间:2024/05/20 00:49

原文链接:http://blog.csdn.net/sunny_forever/article/details/8147138

JSP的编译指令是通知JSP引擎的消息。

常见的编译指令有三个:

page:该指令是针对当前页面的指令。

include:用于指定如何包含另一个页面。

tablib:用于定义和访问自定义标签。

编译指令格式如下:

<%@   编译指令名   属性名=“属性值” ...%>


1.page指令

通常位于JSP页面的顶端,对同一个页面可以有多个page指令。page指令语法格式如下:

<%@page

[language="Java"]                                                          //声明JSP页面使用语言的种类

[extends="package.class"]                                          //JSP程序编译时所产生的Java类,需要继承的父类,或者需要实现的接口的全限定类名

[import="package.class | package.*},..."]                   //用来导入包。默认自动导入的包:java.lang.*; javax.servlet.*; javax.servlet.jsp.*; javax.servlet.http.*

[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=ISO8859-1"]

[isErrorPage="true | false"]                                          //设置本JSP页面为错误处理程序

%>


2.page 指令中errorPage属性和isErrorPage属性示例

JSP不要求强制异常处理。下面是文件1.jsp的代码:

[php] view plaincopyprint?
  1. <span style="font-size:14px;"><%@ page contentType="text/html; charset=gb2312" language="java"<span style="color:#ff0000;"> errorPage="ErrorPage.jsp"</span>%>  
  2. <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”>  
  3. <HTML>  
  4. <BODY>  
  5. <%  
  6. int a=1;  
  7. int b=0;  
  8. int c=a/b;                 <span style="color:#33cc00;"> </span><span style="color:#009900;">//出错</span>  
  9. %>  
  10. </BODY>  
  11. </HTML></span>  

异常处理文件ErrorPage.jsp的代码:

[php] view plaincopyprint?
  1. <span style="font-size:14px;"><%@ page contentType="text/html; charset=gb2312" language="java" isErrorPage="true"%>  
  2. <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”>  
  3. <HTML>  
  4. <BODY>  
  5. <%="This is an error page."%>  
  6. </BODY>  
  7. </HTML></span>  

运行这段代码,如果抛出未处理的异常,系统将自动跳转到errorPage属性指定的页面,即“ErrorPage.jsp”。运行结果截图如下:


如果去掉errorPage属性,系统默认处理,效果如下图所示:



3.include指令

使用include指令,可以将一个外部文件嵌入到当前JSP文件中,同时解析这个页面中的JSP语句。
include既可以包含静态的文本,也可以包含动态的JSP页面。静态的编译指令include,是将被包含的页面加入进来,生成一个完整的页面。静态的include语句不会检查所包含JSP页面的变化。
include编译指令的语法:
<%@include file="relativeURLSpec"%>


4.静态include指令示例

页面include.jsp的源代码如下:

[javascript] view plaincopyprint?
  1. <span style="font-size:14px;"><%@ page contentType="text/html; charset=gb2312" language="java" %>  
  2. <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”>  
  3. <HTML>  
  4. <BODY>  
  5. <%@include file="ShowInclude.jsp"%>  
  6. </BODY>  
  7. </HTML></span>  

页面ShowInclude.jsp的源代码如下:
[javascript] view plaincopyprint?
  1. <span style="font-size:14px;"><%@ page contentType="text/html; charset=gb2312" language="java" %>  
  2. <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”>  
  3. <HTML>  
  4. <BODY>  
  5. <%="include works"%>  
  6. </BODY>  
  7. </HTML></span>  

运行页面include.jsp的结果截图如下:

0 0