Directive:相当于在编译期间的命令
格式:
<%@Directive 属性=“属性值”%>
常见的Directive: page include taglib
Directive-page:指明与JSP Container的沟通方式
基本格式:(常用的已经标注)
<%@page language="script language"|
extends="className"| <%/* 说明这个jsp页面从谁继承而来%>
import="importList"| <%/*引入哪些包,就相当于java的import*/%>
buffer ="none|kb size"| <%/*none:说明不缓冲,默认是8k的缓冲*/%>
session="true|false" | 当前页面能不能使用session对象,默认是true
autoFlush="true|false"| 缓冲区是否自动清除,默认true
isThreadSafe="true|false" 不用指定,默认是false
errorPage="errorPageUrl"| 如果页面出了错,显示哪个Url的内容
isErrorPage="true|false"| 当前页面是不是显示错误的页面
contentType="contentTypeInfo"
%>
import | contentType的例子:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.util.*"%>
<%= new Date()%>
<%
out.println("你好");
%>
errorPage | isErrorPage 的例子:
<*---TestErr.jsp---*>
<%@page contentType="text/html;charset=gb2312"%>
<%@page import="java.util.*"%>
<%@page errorPage="Err.jsp"%>
<%=new Date()%>
<%
String s = "1324input";
int a = Integer.parseInt(s); 当这里出错就会打开Err.jsp
System.out.println(a);
%>
<*---Err.jsp---*>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page isErrorPage="true"%>
<html>
<body text="red">
错误信息:<%= exception.getMessage()%>
</body>
</html>
Directive-include:将指定的jsp程序或者HTML文件包含进来
基本格式:
<%@include file="fileURL"%>
JSP Engine 会在JSP程序的转换时期把file属性设定的文件包含进来,然后开始执行转换及编译的工作。
file 的例子:
会在编译之前加载这个页面
限制:不能向fileURL中传递参数 例如 错误用法(file=abc.jsp?user=aaa)
<!-----TestBar.jsp-------->
<%@page contentType="text/html;charset=UTF-8"%>
<html>
<head>
<title>TestBar.jsp</title>
</head>
<body>
<table width="100%">
<tr><td><%@include file="TitleBar.jsp"%></td></tr> //会在编译之前加载TitleBar的页面
<tr><td><% out.println("<p>欢迎你</p>");%></td></tr>
</table>
</body>
</html>
<!----TitleBar.jsp-------->
<%@page contentType="text/html;charset=UTF-8"%>
<html>
<head><title>TitleBar.jsp</title></head>
<body>
<%
out.println("欢迎"+request.getParameter("user"));
%>
</body>
</html>