您当前的位置: 首页 > 

梁云亮

暂无认证

  • 0浏览

    0关注

    1211博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【精品】JSP页面引入技术

梁云亮 发布时间:2019-11-07 18:42:36 ,浏览量:0

采用页面引入技术可以将多个页面相同的部分抽取出来,从而使用代码满足DRY()原则。

1、jstl import
  

JSP页面引入包含静态引入和动态引入两种:

2、静态引入

静态引入:将一个外部文件嵌入到当前JSP文件中,同时解析这个页面的JSP语句,它会把目标页面的其他编译指令也包含进来。复制被包含文件汇总的所有内容,再把它粘贴到这个文件中。 静态引入的语法:


示例:

  1. 被引入的页面:aa.jsp

    
    
    	
    		被引入的页面
    	
    	
    		被引入的页面
    	
    
    
  2. 目标页面:aim.jsp

    
    
    	
    		静态引入范例
    	
    	
    		    
    	
    
    
  3. 运行,查看生成的servlet类可看到如下代码段 在这里插入图片描述 可看出静态引入时被引入页面的内容会被直接写入到目标页面中。 注意:静态引入会将被包含页面的编译指令也包含进来,如果两个页面的编译指令有冲突,那么目标页面就会出错。

3、动态引入

动态引入是不会引入include页面的编译指令的,而是仅仅将被引入页面的body内容插入本页面。 动态引入的语法格式:

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

示例:

  1. 被引入的页面:aa.jsp

    
    
    	
    		被引入的页面
    	
    	
    		被引入的页面
    	
    
    
  2. 目标页面:aim.jsp

    
    
    
        静态引入范例
    
    
    
    
    
    
  3. 运行,查看生成的servlet类可看到如下代码段 在这里插入图片描述 可看出动态引入只是使用了一个include方法来插入目标页面的内容,而不是将目标页面完全融入到本页面中。

4、静态引入和动态引入有如下三点区别:
  1. 静态引入是将被引入页面的代码完全融入,两个页面融合成一个整体Servlet;而动态引入则在Servlet中使用include方法来引入被引入页面的内容。
  2. 静态引入时被引入页面的编译指令会起作用;而动态引入时被引入页面的编译指令则失去作用,只是插入被引入页面的body内容。
  3. 动态引入可以增加额外的参数,而静态引入只生成一个java文件
  4. 静态引入是指令标签,动态引入是行为标签
  5. 静态引入被引入的页面发生改变时,所有引用它的页面都得重新编译;而动态引入被引入的页面发生改变时,只需要编译被引入的页面即可
  6. 静态引入可以引入静态页面,动态引入可以引入动态页面
  7. 动态引入:如果包含jsp文件,每次加载目标页面的时候,被包含的页面都要重新编译。就是说不管包含了几个jsp页面编译后生成的servlet只有一个class文件
  8. 静态引入:包含了几个JSP文件转译成servlet时就会有几 个 class文件,如果在jsp1定义了变量i同时在jsp2也定义了变量i那么你编译都会通不过的
  9. 静态引入是在转换时插入被引入文件的源代码,而动态引入是在运行时插入被包含文件的响应。
  10. 静态包含,不论包含的是txt文本还是jsp文件,被包含的页面都不会从新编译。
关注
打赏
1665409997
查看更多评论
立即登录/注册

微信扫码登录

0.0396s