注:指令元素用于从JSP发送一个信息到容器中,它用来设置全局变量,声明类,要实现的方法和输出内容的类型等,它们并不向客户产生任何输出,所有的指令都在JSP整个页面有效。指令元素为翻译阶段提供了全局信息。指令元素使用以下的形式:
<%@ directivename attribute="value",attribute="value"%>
1 页面指令:用来定义JSP文件的全局属性
页面指令定义了许多影响到整个页面的重要属性。一个JSP页面可以包含多个页面指令,在编译过程中,所有的页面指令都被抽出来同时应用到一个页面里。除了import外,其他的页面惠玲定义的属性/值只能出现一次。
其详细的语法如下:
<%@ page [language="java"] [import={package.class|package.*},..."]
[contentType="TYPE;chraset=CHRASET"][session="true|false"][buffer="none|8kb|sizekb"]
[autoFlush="true|false"][isThreadSafe="true|false"] [info="text"][errorPage="relativeURL"]
[isErrorPage="true|false"] [extends="package.class"][isELIgnored="true|false"][pageEncoding="peinfo"]
%>
属性 描述 默认值 例子
lauguage 要使用的脚本语言 只能是java language=“java”
import 和java中定义一样 默认忽略 不引入 import=“java.io.*,javax.servlet.jsp”
session 指定HTTP会话是否参与 true session=“true”
buffer 指定客户端输出流缓冲模式 不小于8kb buffer="64kb"
autoFlush true时, 缓冲区满时,到客户端输出被刷新 默认值true autoFlush="true"
info 关于JSP页面的信息,定义一个字符串,可使用servlet.getServletInfo()获得 ******
isErrorPage 表明当前页是否是其他页的errorPage目标,设置为true,则可以使用exception对象,相反,***
errorPage 定义此页面出现异常时调用的页面
isThreadSafe 用来设置JSP文件是否能多线程使用,设置为ture,那么一个JSP能够同时处理多个用户请求;false则相反
contentType 定义字符编码和页面响应的MIME类型
pageEncoding JSP页面的字符编码
isELIgnored 制定EL表达式是否被忽略
2. include指令
include指令通知容器将当前JSP页面中内嵌的,在指定位置上的资源内容包含。被包含的文件内容可以被JSP解析,这种解析发生在编译期间。Include指令如下:
<%@ include file="filename"%>
注:一经编译,内容不可变,如果改变filename的内容,必须重新编译JSP文件
例子如下:
<%@ include file="head.jsp"%>
<%@ include file= "body.html"%>
<%@ include file="footer.jsp"%>
include 指令将在JSP编译时插入一个包含文本或代码的文件,当你使用include指令时,
这个包含的过程就是静态的。静态的包含就是指这个被包含的文件会被插入到JSP文件中去,
这个包含的文件可以是JSP文件,HTML文件,文本文件,Inc文件等。如果包含的文件中包含
可执行的代码,那么这个包含的文件中的代码将会被执行。由于使用了include指令,可以把一
个复杂的页面分若干个简单的部分,这样大大增加了页面的
管理性:
头部:head.jsp LOGO |
左边:side.jsp菜单 | 页面主体: body.jsp 功能区 |
尾部:footer.jsp 版权声明等 |
JSP还有另外一种方法包含其他文件:
表:两种include指令的异同
语法 | 状态 | 对象 | 描述 |
<%@ include file=" "> | 编译时包含 | 静态 | jsp引擎将对包含的文件进行语法分析 |
运行时包含 | 静态和动态 | jsp引擎将不对所包含的文件进行语法分析 |
3. taglib指令
这个指令允许页面使用者自定义标签,增加了代码的重用程度,比如可以把一些需要迭代显示的内容做成一个标签,在每次需要迭代显示时,就使用这个标签,使用标签也可使用页面易于维护
定义如下:<%@ taglib tagdir=" url" prefix="" %>