• JSP中的include的两种用法


    1.两种用法

    <@inlcude file =”header.jsp”/>

    此时引入的是静态的jsp文件,它将引入的jsp中的源代码原封不动地附加到当前文件中,所以在jsp程序中使用这个指令的时候file里面的值(即要导入的文件)不能带多余的标签或是与当前jsp文件重复的东西。例如里面不要包含<html><body>这样的标签,因为是把源代码原封不动的附加过来,所以会与当前的jsp中的这样的标签重复导致出错。  

    <jsp:include page=”/user/test”flush=”true”/>

    此时引入执行页面或生成的应答文本.jsp:include标签导入一个重用文件的时候,这个文件是经过编译的,通俗点说就是附加这个要导入文件经过编译后的效果,所以可以含有与当前jsp程序中重复的内容,因为在附加过来之前就会被解析掉。其中flush 表示在读入包含内容之前是否清空任何现有的缓冲区。

    2.include页面携带入参

    <jsp:include page=”/user/param”flush=”true”>

            <jsp: param name=”userID”value=”2”/>

    <jsp:include>

    3.两种用法的区别

    区别

    include

    jsp:include

    执行时间

    翻译阶段

    在请求处理阶段执行

    引入的内容

    引入静态文本,先包含,后编译 引入执行页面或servlet所生成的应答文本. 被包含的文件先编译,后包含进来,然后显示

     

    翻译阶段:

           jsp页面不能原封不动地被传送给浏览器,全部的jsp元素都必须首先由服务器进行处理。这是通过将jsp页面转达化成servlet,然后执行这个servlet来结束的。服务器需要一个jsp容器来处理jsp页面。jsp容器平常以servlet的形式来实现,这个servlet经过配置,可以处理对jsp页面的全部请求。

    Jsp容器同时将jsp页面转化成servlet(称为jsp页面实现类—JSP Page implementation class),并编译这个servlet。这两步就组成了翻译阶段.


    请求处理阶段:

          Jsp容器除了上面提到的同时将jsp页面转化成servlet外,还同时调用jsp页面实现类以处理每个请求并产生应答.这个阶段我们就称为请求处理阶段.请求处理阶段仅执行类文档.

  • 相关阅读:
    【原创】自己动手写工具----签到器[Beta 1.0]
    都2020了,还不好好学学泛型?
    ThreadLocal = 本地线程?
    从BWM生产学习工厂模式
    你还在用BeanUtils进行对象属性拷贝?
    JDK 1.8 之 Map.merge()
    Spring Boot认证:整合Jwt
    以商品超卖为例讲解Redis分布式锁
    如何从 if-else 的参数校验中解放出来?
    分布式全局唯一ID生成策略​
  • 原文地址:https://www.cnblogs.com/bloodhunter/p/4833788.html
Copyright © 2020-2023  润新知