• JSP的7个动作指令


    JSP的动作指令

      动作指令和编译指令不同,编译指令时通知Servlet引擎的处理消息,而动作指令只是在运行时的动作。

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

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

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

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

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

      jsp:useBean 创建一个JavaBean实例

      jsp:setProperty 设置JavaBean实例的属性

      jsp:getProperty 用于获取JavaBean实例的属性

    1.forward指令

      forward指令用于将页面的相应转发到另外的页面,既可以转发到静态的页面,也可以转发到动态的页面,或者转发到容器的Servlet中。

      JSP的forward指令的语法:

        <jsp:forword page="页面的地址">

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

           </jsp:forword>

      此语法可以在转发的时候添加参数,增加的参数是可以通过HTTP Servlet的getParameter()方法获取。

      原始页面如下:

    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>forward的原始页面</title>
    </head>
    <body>
        <h3>for ward的原始页面</h3>
        <jsp:forward page="forward-resut.jsp">
           <jsp:param value="29" name="age"/>
        </jsp:forward>
    </body>
    </html>

      转发的页面如下:

    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>forward的结果页面</title>
    </head>
    <body>
        <!-- 使用request内置对象获取参数 -->
        <%=request.getParameter("age") %>
    </body>
    </html>

      注意:在执行forward时,用户请求的地址栏是没有变化的,但是页面的内容时被forward的内容替代。

    2.include指令

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

      include的语法:

        <jsp:include page="页面的地址" flush="true|false"/>

        或者

        <jsp:include page="页面的地址" flush="true|false">

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

        </jsp:include>

        flush属性是指定输出缓存是否转移到被导入的文件中,如果是true,则包含在被导入的文件中,如果是false,则包含在源文件中,在JSP1.1旧版本中,只能是false。

      动态include和静态include的区别:

    • 静态导入时将被导入的页面的代码完整的融入,两个页面融合成一个整体的Servlet,而动态的导入时在Servlet中使用include方法来引入被导入页面内容。
    • 静态导入时被导入页面的编译指令也会被导入进来起作用,而动态的导入时被导入的页面的编译指令会失去作用,只是插入被导入页面的body内容。  

       动态include和动态forward指令其实有些相似的,区别在于:执行forward时,被forward的页面将完全替代原有的页面,而执行include时,被include的页面只是插入原有的页面里,简而言之:forward时拿原有页面来代替原有的页面,而include则拿出目标页面插入原有的页面。

    3.useBean,setProperty,getProperty指令

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

      useBean的语法:

        <jsp:useBean id="name" class="className" scope="page|request"/>

        id是指JavaBean实例的名字,而class是用来指定JavaBean的类的名,必须是完整的类名,包名也需要写进去,scope是用来指定该JavaBean的作用域,通常的指定域有四个:

          page:该JavaBean只在此页面有效。

          request:该JavaBean在此次的request中有效

          session:该JavaBean在整个会话中有效。

          application:该JavaBean在本应用中一直都有效。

      setProperty的语法:

        <jsp:setProperty id="name" proterty="propertyname" value=""/>

        name是确认需要设定的JavaBean的实例名,proterty是用来确定需要设置的属性名,value是用来设置属性值。

      getProperty的语法:

        <jsp:getProperty id="name" proterty="protertyname" />

        name属性用来确定需要输出的JavaBean的实例名,property属性确定需要输出的属性名。

    4.prama指令

      param指令用于设置参数值,这个指令本身是不能单独使用的,因为单独的param指令时没有任何意义的。

      param指令可以和以下三个指令结合使用:

        jsp:include

        jsp:forward

        jsp:plugin

      

  • 相关阅读:
    shi_tomasi特征点,GFTTDetector
    特征点总结(按features2d.hpp源码由上至下总结)
    经过一年时间的沉淀 再次回首 TCP Socket服务器编程 (二)
    构建嵌入式小型Linux系统
    老赵书托(3):深入理解计算机系统
    #define与typedef区别
    Linux下快速静态编译Qt以及Qt动态/静态版本共存
    tcpdump示例
    linux绑定多个ip(转载)
    Linux下eclipse及mysql安装,c++访问mysql数据库
  • 原文地址:https://www.cnblogs.com/zhilili/p/10886668.html
Copyright © 2020-2023  润新知