动作指令与编译指令不同,编译指令是通知Servlet引擎的处理信息,而动作指令知识运行时的动作。编译指令在将JSP编译成Servlet时起作用,而处理指令通常可替换成JSP脚本,它知识JSP脚本的标准化写法。

  JSP动作指令主要有如下7个:

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

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

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

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

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

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

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

forward指令

  指令格式:

    1)对于JSP1.0:<jsp:forward page="{relativeURL|<%=expression%>}"/>

    2)对于JSP1.1以上规范:

      <jsp:forward page="{relativeURL|<%=expression%>">

        {<jsp:param.../>}

      </jsp:forward>

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

  示例:

    <jsp:forward page="forward-result.jsp">

      <jsp:param name="age" value="25"/>

    </jsp:forward>

    执行forward指令时,用户请求的地址依然没有发生改变,但页面内容却完全变为目标页的内容,并且客户端的请求参数不会丢失。

  提示:

    从表面上看,<jsp:forward.../>指令给人的感觉是将用户请求“转发”到了另一个新页面,但实际上,它并没有重新向新页面发送请求,它知识完全采用了新页面来对用户生成响应——请求依然是一次请求,所以亲求参数,请求属性都不会丢失。

include指令

  include指令是一个动态include指令,也用于包含某个页面,它不会导入被include页面的编译指令,仅仅将被导入页面的body内容插入本页面。

  语法格式:

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

    或

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

      <jsp:param name="parameterName" value="parameterValue"/>

    </jsp:include>

  flush属性用于指定输出缓存是否转移到被导入文件中,对于JSP1.1旧版本,只能设置为false。对于第二种语法格式,则可在被导入页面中加入额外的请求参数。

  静态导入和动态导入有如下三点区别:

  •     静态导入是将被导入页面的代码完全融入,两个页面融合成一个整体Servlet,而动态导入则在Servlet中使用include方法导入被导入页面的内容。
  •     静态导入时被导入页面的编译指令会起作用;而动态导入时被导入页面的编译指令则失去作用,只是插入被导入页面的body内容。
  •     动态包含还可以增加额外的参数。

useBean、setProperty、getProperty指令

  这三个指令都是与JavaBean相关的指令,其中userBean指令用于在JSP页面中初始化一个Java实例;setPrperty指令用于为JavaBean实例的属性设置值;getProperty指令用于输出JavaBean实例的属性。

  如果多个JSP页面中需要重复使用某段代码,可以把这段代码定义成Java类的方法,然后多个JSP页面调用该方法即可。

  useBean的语法格式:

    <jap:useBean id="name" class="classname" scope="page | request |session | application"/>

    scope属性说明:

  •       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指令:略。

  param指令:

    param指令用于设置参数值,它不能单独使用,可以与下面三个指令结合使用。

  •       jsp:include
  •       jsp:forward
  •       jsp:plugin

    语法格式:

      <jsp:param name="paramName" value="paramValue"/>

JSP的7个动作指令的更多相关文章

  1. 【JSP】JSP基础学习记录(二)—— JSP的7个动作指令

    2.JSP的7个动作指令: 动作指令与编译指令不同,编译指令是通知Servlet引擎的处理消息,而动作指令只是运行时的动作.编译指令在将JSP编译成Servlet时起作用:而处理指令通常可替换成JSP ...

  2. jsp 的 7 个动作指令

    动作指令与编译指令不同,编译指令是通知 Servlet 引擎的处理消息,而动作指令只是运行时的动作.编译指令在将 JSP 编译成 Servlet 时起作用:而处理指令通常可替换成 JSP 脚本,它只是 ...

  3. 二、JSP的3个编译指令,7个动作指令,9个内置对象

    JSP 3个编译指令 1)  page指令(基本不需要用到,使用默认即可) 主要属性: 1.Language:指定脚本所采用的语言类型,现在只支持java 2.Extends:定义当前jsp产生的se ...

  4. JSP基本的语法、3个编译指令、7个动作指令、9个内置对象

    一.jsp概述 JSP是java server page的缩写,其本质是一个简化的servlet,是一种动态网页技术标准.jsp页面是在HTML页面中嵌入java程序段.使用jsp开发的应用程序能够跨 ...

  5. jsp笔记2(编译指令与动作指令)

    一.jsp的编译指令是通知jsp引擎的消息,不会生成输出. jsp的3个编译指令: page:针对当前页面的指令   include:包含另一个页面的指令   taglib:用于定义和访问自定义标签 ...

  6. jsp七大动作指令

    jsp 七大动作指令 1) jsp:include 指令 用于在请求处理阶段包含来自一个Servlet或jsp页面的响应.和编译指令中的include不同,include只能用于包含静态页面,而jsp ...

  7. jsp的常用指令有哪些(编译指令/动作指令整理)

    jsp的常用指令有哪些(编译指令/动作指令整理) JSP动作指令 JSP - JSP中的脚本.指令.动作和注释

  8. jsp笔记,包括编译指令和动作指令,九大对象等

    jsp基础知识 不包括HTTP协议,只有jsp的基础知识,包括表达式,代码片段,jsp九大对象等. 编译指令是在jsp被转换成selvet时,使用的. 而动作指令,是在每次客户端请求时动态执行.

  9. JSP——页面三大部分(指令、脚本、动作组件)

    一.JSP简介: JSP(Java Server Pages,Java服务器端页面开发技术) JSP可以实现的技术都可以通过Servlet实现,他们本质上是一样的.但JSP设计的目的在于简化表示层的表 ...

随机推荐

  1. CentOS6.5 ssh远程连接缓慢解决方法

    UseDNS no GSSAPIAuthentication no 1.适用命令及方案如下:[远程连接及执行命令]ssh -p22 root@10.0.0.19ssh -p22 root@10.0.0 ...

  2. WWF3事件类型活动<第三篇>

    WWF将工作流分为两大类: 面向Human:在工作流运行时通过用户对外部应用程序的操作来影响工作流的业务流转. 面向System:应用程序控制流程. 工作流与应用程序都是可以单独存在的,因此它们之间的 ...

  3. jquery 相关class属性的操作

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. Multithreading annd Grand Central Dispatch on ios for Beginners Tutorial-多线程和GCD的入门教程

    原文链接:Multithreading and Grand Central Dispatch on iOS for Beginners Tutorial Have you ever written a ...

  5. Android IOS WebRTC 音视频开发总结(六五)-- 给韩国电信巨头做咨询

    本文主要总结咨询过程中的一些问题,文章最早发表在我们的微信公众号上,详见这里,欢迎关注微信公众号blackerteam 韩国电信巨头sk想了解国内移动互联网rtc现状,所以上周请我过去给他们的相关人员 ...

  6. C puzzles详解【31-33题】

    第三十一题 The following is a simple C program to read and print an integer. But it is not working proper ...

  7. wpMVVM模式绑定集合的应用

    一.新建一个项目,命名为wpMVVMone,添加一个有关食品信息的类Food.CS,代码如下: public class Food { public string Name { get; set; } ...

  8. 学习c的第6天2

    #include <stdio.h> #include <math.h> int main() { float num; printf("请输入该生当月的消费额:\n ...

  9. cassandra 之 jdbc 使用【java、scala】

    1.数据库创建 参考接上文cassandra入门 http://www.cnblogs.com/piaolingzxh/p/4197833.html 2.下载jdbc驱动源码,构建jar包 源码下载地 ...

  10. PHP常用函数和常见疑难问题解答

    PHP常用库函数介绍 一.PHP字符串操作常用函数 1.确定字符串长度  int strlen(string str) 2.比较两个字符串 a. strcmp函数对两个字符串进行二进制安全的比较,并区 ...