• JSP中的7个指令


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

    编译指令在将JSP编译成Servlet时起作用,而处理指令通常可替换成JSP脚本,它只是JSP脚本的标准化写法。

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

    (2)JSP:param  用于传递参数,必须与其他支持参数的标签一起使用

    (3)JSP:include  用于动态引入一个JSP页面

    (4)JSP:plugin 用于下载JavaBean或者Applet到客户端执行

    (5)JSP:useBean 创建一个Javabean实例

    (6)JSP:setProperty  设置JavaBean实例的属性值

    (7)JSP:getProperty  获取JavaBean实例的属性值

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

       动态指令只需直接<>中使用指令,静态则是<%%>,动态指令均是成对出现的。
        JSP的forward指令格式如下:
          对于JSP1.0语法为:<JSP:forward page="{relativeURL|<%=expression%>}"/>  
          对于JSP1.1以上规范,语法为:<JSP:forward page="{relativeURL|<%=expression%>}">
                                                                                {<JSP:param·······/>}
                                                                        </JSP:forward> 
       这种语法用于在转发时增加额外的请求参数。增加的请求参数的值可以通过HttpServletRequest类的getParameter()方法获取。执行forward指令时,用户请求的地址依然没有发生改变,仍然是一次请求,但页面内容完全变为被forward目标页的内容。执行forward指令转发请求时,客户端的请求参数不会丢失。

    (二)include指令
           include指令时一个动态include指令,也用于包含某一个页面,它不会导入被include页面的编译指令,仅仅被导入页面的body内容插入页面。
            <jsp:include page="{relativeURL|<%=expression%>}" flush="true">
                       <jsp:param name="parameterName" value="parameterValue"/>
            <jsp:include/>
         flush属性用于指定输出缓存是否转移到被导入文件中,如果指定为true,则包含在被导入文件;如果指定为false,则包含在原文件中。对于JSP1.1旧版本中,只能设置为false。
    注:include静态:编译指令 -----两个JSP页面融合成一个servlet
        include动态:动作指令------在servlet中使用include引入被导入页面的内容
        静态导入页面被导入页面的编译指令必须一致,否则会出错,动态则只包含body部分。
    (三)userBean,setProperty,getProperty指令
      这三个指令都是与JavaBean相关的指令,其中userBean指令用于在JSP页面中初始化一个Java实例,setProperty指令用于为JavaBean实例的属性设置值;getProperty指令用于输出JavaBean实例的属性。

      如果多个JSP页面中需要重复使用的某段代码,我们可以把这段代码定义为java类的方法,然后多个JSP页面调用该方法即可,这样可以达到较好的代码复用。

    userBean的语法格式如下
        <jsp:userBean id="name" class="classname" scope="page|request|session|application"/>
    其中,id属性是JavaBean的实例名,class属性确定JavaBean的实现类。scope属性用于指定JavaBean实例的作用范围。

    setProperty的语法格式
     <jsp:setProperty name="BeanName" property="propertyName"   value="propertyValue"/>

    其中,name属性是要确定JavaBean的实例名,property属性要确定设置属性的属性名,value属性时要确定属性名对应的值。

    getProperty的语法格式

    <jsp:getProperty  name="BeanName" name="propertyName"/>

    其中,name属性时要确定JavaBean的实例名,name属性是指定要获取的属性名对应的值。

    注:使用userBean标签时,除在页面脚本中创建了JavaBean实例之外,该标签还会将该JavaBean实例放入指定scope中,所以我们还需要在脚本中将JavaBean放入指定的scope中,所下面的代码所示:

    pageContext.setAttribute("beanName",beanName)

    request.setAtttibutr("beanName",beanName)

    session.setAttribute("beanName",beanName)

    application.setAttribute("beanName",beanName)

    (四)plugin指令

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

    (五)param指令

    param用于设置参数值,这个指令本身不能单独使用,因此单独的param指令没有实际意义,param指令可以与以下指令结合使用

    jsp:include  jsp:forward   jsp:plugin

  • 相关阅读:
    不知如何摧毁Kendo UI for jQuery小部件?这份指南不得不看
    MyEclipse导航代码第二弹,Java开发更便捷
    索引扫描与索引查找区别
    Chrome使用技巧
    什么是中台?所有的中台都是业务中台
    跨域资源共享CORS详解
    多线程之入门起步(三)
    聊天程序——基于Socket、Thread (二)
    多线程的相关概念(一)
    使用BCP实用工具导出导入数据
  • 原文地址:https://www.cnblogs.com/zhang-bo/p/6648669.html
Copyright © 2020-2023  润新知