首页 > 其他分享 >静态包含和动态包含的区别

静态包含和动态包含的区别

时间:2022-12-14 19:33:11浏览次数:49  
标签:head 包含 静态 jsp 动态 页面


静态包含   vs   动态包含 的区别?


1) 语法不同


静态包含语法: <%@inclue file="被包含的页面"%>


动态包含语法: <jsp:include page="被包含的页面">



2)参数传递不同


静态包含 不能向被包含页面传递参数


动态包含 可以使用jsp:param标签向被包含页面传递参数



3)原理不同


静态包含: 先合并再翻译


动态包含: 先翻译再合并



        如下Demo代码案例 注意: include指令静态包含,是直接把 被包含的页面(head.jsp)的内容翻译到包含页面(action.jsp)中,合并翻译成一个java源文件,再编译运行,即 先合并再翻译 。但是,2个jsp页面中都有path和basePath两个变量了,jsp被翻译成jsp源文件后,属于变量重复定义。删除被包含页面中重复的jsp脚本问题即可解决。也可以运用jsp标签jsp:include动态包含来解决, 动态包含是先翻译再合并,即使存在重复变量定义,也不影响 。


Demo如下:


     action.jsp如下:     


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

 <head>

   <title>静态包含  vs  动态包含的区别</title>

 </head>

 

 <body>

   

<%-- 动态包含 ,page属性里面的值一定是一个文件的路径,不能用?在路径后面传参,但是能通过jsp:param标签传参--%>

<jsp:include page="/common/head2.jsp">

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

</jsp:include>

   

    <hr/>

   

    <%-- 静态包含,不能用?在路径后面传参,file属性里面的值一定是一个文件的路径,传参会报错。 --%>

<%@include file="/common/head.jsp" %>

 </body>

</html>

head.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

 <head>

   <title>head.jsp</title>

 </head>

 

 <body>

   这是一个通用的头部页面head<br/>

 </body>

</html>

head2.jsp:

</html>


    效果:




静态包含和动态包含的区别_静态包含


标签:head,包含,静态,jsp,动态,页面
From: https://blog.51cto.com/u_15769923/5938270

相关文章

  • 结合Spring Cloud Bus实现配置动态刷新
    在上一节中我们学习了在SpringCloud微服务系统架构中使用ConfigServer进行本地仓库配置读取和线上环境的远程仓库git配置读取,让我们在多个微服务下也可以进行配置信息的......
  • gateway动态路由实现 mysql+redis 实现
    前言大家都知道咱们在通常是使用配置文件来实现配置,但是这样就有一个弊端,就是每次修改的时候都要去重启来实现,并且管理起来非常麻烦,所有就有了这种实现方式。现在的实现方式......
  • Zookeeper 实现分布式配置管理实现 @Value 的动态变化 (二)
      概述:  前一篇 zookeeper 实现了的配置管理,但是最后的时候说过没有实现@Value 的动态变化,也就是说没有实现配置文件的动态变化, 今天在昨天的基础上,实现了配置......
  • SpringBoot 设置动态定时任务
    前言SpringBoot项目中简单使用定时任务,不过由于要借助cron表达式且都提前定义好放在配置文件里,不能在项目运行中动态修改任务执行时间,不是太灵活,改文章是主要是实现在固定的......
  • @RequestBody中传递json里的对象,对象包含list属性,对应body里的格式
    以下就是对应格式,直接复制进接口文档相关工具即可{"userId":"88","openCostCenterDTO":[{"name":"大斯温例果取向","co......
  • Java做UI自动化和app自动化中动态代理@FindBy的工作原理【杭州多测师_王sir】【杭州多
    Java做UI自动化和app自动化中动态代理@FindBy的工作原理一、背景简介由于Selenium框架采用PageObject设计模式让测试代码与被测页面对象代码分离,因而提供了不少很方便的注......
  • uni-app 动态修改主题色
    老是碰到初版制作完成没多久,就整一出说什么要更改整个项目的色彩体系。真的是宝宝心里苦啊!起初都是通过uni项目自带的uni.scss中定义,在替换页面上对应的css。以便于达......
  • 使用pelican+git+码云pages建立静态markdown博客全过程
    ​​软件需求目录​​​​使用工具​​​​命令​​​​静态目录​​​​写博文​​​​发布博客​​​​博客功能拓展​​​​尾声​​软件需求目录pelicanpython-markdo......
  • 动态代理
    button1.setOnLongClickListener(newView.OnLongClickListener(){@OverridepublicbooleanonLongClick(Viewv){......
  • 2 推荐系统包含哪些环节
    召回:降低数量级、选取与用户直接相关/间接相关的粗略相关的内容排序:喜欢/不喜欢对应二分类的问题,按照概率进行排列,已经是精确的个性化了调整:进一步细节优化数据量......