JSP动作指令主要有如下7个:
jsp:forward:执行页面转向,将请求的处理转发到下一个页面。
jsp:param:用于传递参数,必须与其他支持参数的标签一起使用。
jsp:include:用于动态引入一个JSP页面。
jsp:plugin:用于下载JavaBean或Applet到客户端执行。
jsp:useBean:创建一个JavaBean的实例。
jsp:setProperty:设置JavaBean实例的属性值。
jsp:getProperty:输出JavaBean实例的属性值。
?
forward指令
forward指令用于将页面响应转发到另外的页面。既可以转发到静态的HTML页面,也可以转发到动态的JSP页面,或者转发到容器中的Servlet。
JSP的forward指令的格式如下:
对于JSP1.0,使用如下语法:
<jsp:forward page="{relativeURL|<%=expression%>}"/>
对于JSP1.0,使用如下语法:
<jsp:forward page="{relativeURL|<%=expression%>}"> {<jsp:param.../>} </jsp:forward>
?第二种语法用于在转发时增加额外的请求参数。增加的请求参数的值可以通过HttpServletRequest类的getParameter()方法获取。
include指令
include指令是一个动态include指令,也用于包含某个页面,它不会导入被include页面的编译指令,仅仅将被导入页面的body内容插入本页面。
下面是include动作指令的语法格式:
<jsp:include page="{relativeURL|<%=expression%>}" flush="true"/>
?或者
<jsp:include page="{relativeURL|<%=expression%>}" flush="true"> <jsp:param name="parameterName" value="patameterValue"/> </jsp:include>
?flush属性用于指定输出缓存是否转移到被导入文件中。如果指定为true,则包含在被导入文件中;如果指定为false,则包含在原文件中。对于JSP1.1旧版本,只能设置为false。
对于第二中语法格式,则可在被导入页面中加入额外的请求参数。
?静态导入和动态导入有如下三点区别:
1.静态导入是将被导入页面的代码完全融入,两个页面融合成一个整体Servlet;而动态导入则在Servlet中使用include方法来引入被导入页面的内容。
2.静态导入时被导入页面的编译指令会起作用;而动态导入时被导入页面的编译指令则失去作用,只是插入被导入页面的body内容。
3.动态包含还可以增加额外的参数、增加额外的请求参数。
forward动作指令和include动作指令十分相似。区别在于,执行forward时,被forward的页面将完全代替原有页面;而执行include时,被Include的页面只是插入原有页面。简而言之:forward拿目标页面代替原有页面,而include则拿目标页面插入原有页面。
useBean、setProperty、getProperty指令
这三个指令都是与JavaBean相关的指令,其中useBean指令用于在JSP页面中初始化一个Java实例;setProperty指令用于为JavaBean实例的属性设置值;getProperty指令用于输出JavaBean实例的属性。
useBean动作指令的语法格式如下:
<jsp:useBean id="name" class="classname" scope="page|request|session|application"/>
?其中:id属性是JavaBean的实例名,class属性确定JavaBean的实现类,scope属性用于指定JavaBean实例的作用范围,该范围有一下4个值:
page:该JavaBean实例仅在该页面有效。
request:该JavaBean实例在本次请求有效。
session:该JavaBean实例在本次session内有效。
application:该JavaBean实例在本应用内一直有效。
setProperty动作指令的语法格式如下:
<jsp:setProperty name="BeanName" property="propertyName" value="value"/>
?其中:name属性确定需要设定JavaBean的实例名;property属性确定需要设置的属性名;value属性则确定需要设置的属性值。
getProperty动作指令的语法格式如下:
<jsp:getProperty name="BeanName" property="propertyName"/>
?其中:name属性确定需要输出的JavaBean的实例名;property属性确定需要输出的属性名。
?plugin指令
?plugin指令主要用于下载服务器端的JavaBean或Applet到客户端执行。由于程序在客户端执行,因此客户端必须安装虚拟机。
用处不多,基本不用,有标签可以替代。
param指令
param指令用于设置参数值,这个指令本身不能单独使用,因为单独的param指令没有实际意义。param指令可以与以下三个指令结合使用。
jsp:include
jsp:forward
jsp:plugin
当与include指令结合使用时,param指令用于将参数值传入被导入的页面;当与forward指令结合使用时,param实例用于将参数值传入被转向的页面;当与plugin指令结合使用时,则用于将参数传入页面中的JavaBean实例或Applet实例。
param动作指令的语法格式如下:
<jsp:param name="paramName" value="paramValue"/>
?
?
?