动作指令只是在运行时的动作,编译指令在将JSP翻译成Servlet时起作用
JSP的主要动作指令
jsp:forword:执行页面转向,将请求的处理转发到下一页面。
jsp:param:用于传递参数必须与其他支持参数的标签一起使用。
jsp:include:用于动态引入一个JSP页面。
jsp:plugin:用于下载JavaBean或Applet到客服端执行。
jsp:useBean:创建一个JavaBean实例。
jsp:setProperty:设置JavaBean实例的属性值。
jsp:getProperty:输出JavaBean实例的属性值。
5.1forward指令
forward指令用于将页面响应转发到另外的页面。
JSP的forward指令格式:
JSP1.0
JSP1.1以上
例:
表单提交:
指令给人一种:它是将用户的请求“转发”到另一页面,但实际上并没有重新向新页面发送请求,它只是完全采用对用户生成响应,请求依然是一次请求,所以请求参数、请求属性都不会丢失。
5.2include指令
include指令是一个动态指令,也用于包含某个页面,它不会导入被include页面的编译指令,仅仅将被导入的页面的body内容插入本页面。
语法格式:
动态导入语法:
动态导入只是使用一个include方法来插入目标页面,而不是将目标页面完全融入本页面中。
静态导入和动态导入的三点区别:
静态导入是将导入页面完全融入本页面,两个页面完全融合生成一个整体的Servlet,而动态导入则在Servlet中使用include方法来引入被导入页面的内容。
静态导入时被导入页面的的编译指令会起作用,而动态导入时被导入页面的编译指令则失去作用,只是插入被导入页面的body内容。
动态导入还可以增加额外的参数。
简而言之,forward那布标页面代替原有的页面,include拿目标页面插入原有的页面。
5.3useBean、setProperty、getProperty指令
这三个指令都是与JavaBean相关的指令,useBean指令用于在JSP页面中初始化一个Java实例;setProperty指令用于为JavaBean实例的属性设置值,getProperty指令用于输出JavaBean实例的属性
useBean的语法:
scop属性指定的JavaBean实例的作用范围:
page:该JavaBean实例仅在该页面有效。
request:该JavaBean实例在本次请求有效。
session:该JavaBean实例在本次session内有效。
application:该JavaBean实例在本应用内一直有效。
setProperty指令语法:
getProperty的语法:
例:
当页面调用setProperty和getProperty标签时,系统底层就是调用setName()和getName()方法来操作Person实例的属性的。
5.4plugin指令
plugin指令主要用于下载服务端的JavaBean或Applet到客服端执行。由于程序要在客服端执行,所以客服端必须安装虚拟机,实际中很少使用。
5.5param指令
param指令用于设置参数值,这个指令不能单独使用,因为单独的param指令没有实际意义,param主要结合一下三个指令使用:
jsp:include
jsp:forward
jsp:plugin
语法格式: