jsp中有三个指令,八个动作标识。
壹
三个指令分别是:include指令,page指令,taglib指令。指令的通用格式为<%@ 指令名称 属性1=“属性值1” 属性2=“属性值2”%>
(1)include 指令
格式<%@ include file="文件的相对路径或绝对路径"%>
include指令是在服务器编译之前进行的。它的file只能是所包含的文件,不能是其他的、任何的东西。
例如:<%String name="top.jsp"%>
<%@ include file="%> <%=name%> <%"%>
这是错误的,不能变量的存在,
(2)page指令
格式<%@ page 属性="属性值"%>
page有很多的指令,除了我们平常使用的import导包,language属性、extends继承等等还有很多,另外,import属性可以出现多次,其他的属性只能出现一次。
(3)taglib指令
格式<%@ taglib uri="tagURI " prefix="tagPrefix"%>
uri属性指定了标签描述符
prefix属性指定了一个在页面中使用有uri属性指定的标签库的前缀
贰
八个动作标识分别是
<jsp:include> <jsp:forward> <jsp:param>
<jsp:useBean> <jsp:setProperty> <jsp:getProperty>
<jsp:fallback> <jsp:plugin>
通用的格式<jsp:动作标识名 属性1="属性值1" 属性2="属性值2"/>
或者
<jsp:动作标识名 属性1="属性值1" 属性2="属性值2">
<子动作名 属性1="属性值1" 属性2="属性值2">
</jsp:动作标识名>
(1)include动作
格式<jsp:incllude page="文件的绝对路径或相对路径" flush="true|false"/>
若要向包含的页面中传递参数,则
格式<jsp:include page="文件的绝对路径或相对路径" flush="true|false">
<jsp:param name="参数名字" value="参数值">
</jsp:include>
include动作标识所包含的文件可以是动态的文件或是静态的文件,后面的flush是当输出缓存区满时,是否清空缓存区。flush是一个布尔类型,所以值为true或者false。
include动作中page不能包含变量,
例如:<jsp:include page="<%=a %>" flush="true"/> 错误.
include对处理静态文件和动态文件的方式不同,对于静态文件,include会完完本本的把文件的内容显示出来,如是动态文件,include则会先通过jsp编译器编译再执行文件。include不会主动的去辨别该文件是不是动态的还是静态的。但include会识明文件的类型。
(2)jsp:forward动作标识
格式:<jsp:forward page="文件路径|表示路径的表达式" >
或者
<jsp:forward page="文件路径|表示路径的表达式">
<jsp:param name="参数名字" value="参数值">
</jsp:forward>
该动作标识用于请求转发另一个目标HTML,JSP文件或其他的相关资源。当该动作执行后,就不会在执行当前的页面,而是,执行目标页面。还有就是forward动作标识是在服务器端跳转
(3)子标识jsp:param
格式:<jsp:param name="参数名字" value="参数值">
用于传递参数,可以通过request.getParammeter()获得JSP页面传递的参数