zoukankan      html  css  js  c++  java
  • JSP的7个动作指令

      动作指令与编译指令不同,编译指令是通知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"/>

  • 相关阅读:
    MySQL显示数据库版本的SQL语句
    如何清空ostringstream对象中的内容
    C/C++中的Split函数
    关于socket长连接的心跳包
    利用MyEclipse配置S2SH三大框架篇-Spring配置
    利用MyEclipse配置S2SH三大框架篇-struts2配置
    Oracle OCP 11G 051答案解析目录
    AFX_EXT_CLASS
    C++中的explicit关键字
    SSH2三大框架整合警告
  • 原文地址:https://www.cnblogs.com/ScorchingSun/p/4000747.html
Copyright © 2011-2022 走看看