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 plain copy print?
- <span style="font-size:14px;"><%@ page contentType="text/html; charset=gb2312" language="java"<span style="color:#ff0000;"> errorPage="ErrorPage.jsp"</span>%>
- <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”>
- <HTML>
- <BODY>
- <%
- int a=1;
- int b=0;
- int c=a/b; <span style="color:#33cc00;"> </span><span style="color:#009900;">//出错</span>
- %>
- </BODY>
- </HTML></span>
异常处理文件ErrorPage.jsp的代码:
[php] view plain copy print?
- <span style="font-size:14px;"><%@ page contentType="text/html; charset=gb2312" language="java" isErrorPage="true"%>
- <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”>
- <HTML>
- <BODY>
- <%="This is an error page."%>
- </BODY>
- </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 plain copy print?
- <span style="font-size:14px;"><%@ page contentType="text/html; charset=gb2312" language="java" %>
- <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”>
- <HTML>
- <BODY>
- <%@include file="ShowInclude.jsp"%>
- </BODY>
- </HTML></span>
页面ShowInclude.jsp的源代码如下:
[javascript] view plain copy print?
- <span style="font-size:14px;"><%@ page contentType="text/html; charset=gb2312" language="java" %>
- <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”>
- <HTML>
- <BODY>
- <%="include works"%>
- </BODY>
- </HTML></span>
运行页面include.jsp的结果截图如下:
转自:http://blog.csdn.net/sunny_forever/article/details/8147138