01_13_JSP编译指令
1. Directive
Directive(编译指令)相当于在编译期间的命令
格式:
<%@Directive 属性=”属性值”%>
常见的Directive
page
include
taglib
2. Directive-page
指明与JSP Container的沟通方式
基本格式:
<%@page language=”script language”
extends=”className”
import=”importList”
buffer=”none|kb size”%> --none:不缓冲,默认为8k
session=”true|false” --是否可以使用session,默认为true
autoFlush=”true|false” --缓冲器是否自动清除,默认为true
isThreadSafe=”true|false” --默认false(永远不要设置成true)
info=”infoText” --任何字符
errorPage=”errorPageUrl”
isErrorPage=”true|false”
contentType=”contentTypeInfo”
pageEncoding=”gb2312”
3. Directive-include
将指定的JSP程序或者HTML文件包含进来
格式:
<%@include file=”fileURL”%>
JSP Engine会在JSP程序的转换时期先把file属性设置的文件包含进来,然后开始执行转换及编辑的工作。(原封不动的把文件的代码copy到该位置,然后进行转换和编译,只生成一个java和class)
限制:
不能向fileURL中传递参数
不能abc.jsp?user=aaa
4. Action
Action(动作指令)在运行期间的命令
常见的:
jsp:setProperty
jsp:getProperty
jsp:include
jsp:forward
jsp:param
jsp:plugin
嵌入applet
例:
<jsp:include page=”divide.jsp” flush=”true”>
<jsp:param name=”v1” value=”<%=value1%>” />
<jsp:param name=”v2” value=”<%=value2%>” />
</jsp:include>
5. 动态包含跟静态包含的区别
<%@inclue file=”date.jsp”%> |
<jsp:include page=”date.jsp” flush=”ture”/> |
include编译指令是在JSP程序的转换时期就将file属性所指定的程序内容嵌入,然后在编译执行; |
而include指令的转换时期是不会被编译的,只有客户请求时期如果被执行到才会被动态的编译载入 |
只生成一个class文件 |
多个 |
include不能带参数 |
<jsp:include>可以 |
同一个request对象 |
不同的request对象,可以取得包含它的页面的参数,并添加自己的参数 |