JSP学习之四:JSP指令
CoffeeTree 2009-1-5
一、指令基础
a) 指令的格式:<%@ 指令名 [….一个或多个属性….] %>;
b) 指令的作用:告诉容器在解释JSP时的一些约定;
c) 可用的JSP指令
i. page指令;
ii. taglib指令
iii. include指令
d) JSP指令的处理(注意各个动作所发生的阶段)
二、page指令
告诉容器翻译阶段如何处理JSP文件。
1. language属性 :<%@ page language=”java” %> 此为默认;
2. extends属性 :使用超类,基本不用;
3. import属性 :<%@ page import=”java.util.*” %> ;
4. session属性 :true | false ;
5. info属性 :指定页面信息,基本不用;
6. isELIgnored属性 :true | false ;
7. isErrorPage属性 :true | false ;
8. errorPage属性 :<%@ page errorPage=”error.jsp” %> ;
9. contentType属性 :text/html | text/xml ;
三、taglib指令
taglib指令的工作流程在《 JSP学习之三:EL & JSTL(二) 》中已经描述;关键字:taglib映射,TLD ;
1. uri属性
taglib指令告诉容器此JSP将使用与此uri相关联的标记库。
2. tagdir属性
指定标记库具体目录。(必须为/WEB-INF/tags目录或子目录下)
3. prefix属性
指定一个前缀。
隐式包含介绍:
如果你开发了一个项目,每一个JSP都用到了10个不同的标记库,在每个JSP前面都指定10个taglib指令会很麻烦,此时隐式包含可以方便的解决此问题,其处理方法类似于C语言中引入一个.h文件。
WEB.xml添加:
<jsp-config>
<jsp-property-group>
<uri-pattern> index.jsp</uri-pattern>
<include-preclude> /WEB-INF/jspf/pre.jspf</include-preclude>
</jsp-property-group>
</jsp-config>
/WEB-INF/jspf/pre.jspf:
<%@ taglib prefix=”c” uri=http://java.sun.com/jsp/jstl/core %>
<%@ taglib prefix=”fmt” uri=http://java.sun.com/jsp/jstl/format %>
四、include指令
include指令告诉容器,在翻译阶段把其他文件的内容与当前JSP合并。
1. 所包含的所有JSP代码都不会被执行,甚至不会被编译。
2. 首先合并文件,然后合并后的整个输出作为一个单元得到翻译。
3. 如果所包含的文件有所改动,容器没有一般的方法来知道这一点,只能重新编译整个翻译单元。
<jsp : include >动作在请求时发生,可以克服以上限制。