JSP的7个动作指令

1、动作指令与编译指令的区别:编译指令是通知Servlet引擎的处理消息,而动作指令只是运行时的动作。编译指令在将JSP编译成Servlet时起作用,而处理指令通常可替换成JSP脚本,它只是JSP脚本的标准化写法。动作指令主要有七个:

     ①jsp:forward:执行页面转向,将请求的处理转发到下一个页面。

     ②jsp:param:用于传递参数,必须与其他支持参数的标签一起使用。

     ③jsp:include:用于动态引入一个JSP页面。

     ④jsp:plugin:用于下载JavaBean或Applet到客户端执行。

     ⑤jsp:useBean:创建一个JavaBean实例。

     ⑥jsp:setProperty:设置JavaBean实例的属性值。

     ⑦jsp:getProperty:输出JavaBean实例的属性值。

2、forward指令:转向的作用,既可以转发到静态的HTML页面,也可以转发到动态的JSP,或者转发到容器的Servlet。格式:

     (JSP1.0)}">

     (JSP1.1及以上)

          }">

               {}


     第二章语法用于在转发时增加额外的请求参数。请求的参数可以通过HttpServletRequest类的getParameter()方法获取。

3、include指令:这是一个动态指令,也用于包含某一个页面,它不会导入被include页面的编译指令,仅仅将被导入页面的body内容插入页面。语法格式: flush="true"/>

或者

     < jsp:include page="{relativeURL|<%=expression%>}" flush="true" >

               {}


flush用于指定输出缓存是否转移到被导入文件中。为true,则包含在被导入文件中,若未false,则包含在原文件中。JSP1.1以前,只能为false。

静态导入和动态导入有以下区别:

     ①静态导入是将被导入页面的代码完全融入,两个页面融合成一个整体servlet;而动态导入则在Servlet中使用include方法来引入被导入页面的内容。

     ②静态导入时被导入页面的编译指令会起作用;而动态导入时被导入页面的编译指令则会失去作用,只是插入被导入页面的body内容。

     ③动态包含还可以增加额外的参数。参数可在指定页面使用request对象获取。

4、useBean、setProperty、getProperty

     ①useBean用于在JSP页面中初始化一个Java实例;setProperty指令用于JavaBean实例的属性设置值;getProperty指令用于输出JavaBean实例的属性。若多个JSP页面需要重复使用某段代码,可以把这段代码定义成Java类的方法,然后让多个JSP页面调用该方法即可。语法格式:

     

其中id属性是JavaBean的实例名,class属性确定JavaBean的实现类。scope属性用于指定JavaBean实例的作用范围,该范围有以下四个值:

     page:该JavaBean的实例仅在该页面有效

     request:该JavaBean实例在本次请求有效

     session:该JavaBean实例在本次会话有效

     application:该JavaBean实例在本应用内一直有效。

setProperty/getProperty指令的语法格式:

     

     

其中那么属性确定需要设定/输出的JavaBean的实例名,property属性确定需要设置的属性名,value属性确定需要设置的属性值。

5、plugin指令:主要用于下载服务端的JavaBean或Applet到客户端执行。由于程序在客户端执行,因此客户端必须安装虚拟机。使用不多。

6、param指令

     param指令用于设置参数,不能单独使用,与三个指令结合使用(jsp:forward,jsp:include,jsp:plugin),与forward一起使用时,param指令用于将参数值传入被转向的页面;与include一起使用时,用于将参数值传入被导入的页面;与plugin一起使用时,用于将参数传入页面中的JavaBean实例或Applet实例。语法格式:

     

你可能感兴趣的:(JSP的7个动作指令)