先回忆一下二者的区别(对于此篇文章而言,二者在用法上没有区别)

jsp:include是先编译一下included.jsp文件,然后再包含        先编译,后包含
@ include是先把文件包含就来,然后统一编译                   先包含,后编译

今天下午想把Jquery集成到项目中,发现怎么样都会出问题。原因就是路径问题。

在集成时,我的思路是写一个公共JSP文件,里面包含一些常用的js文件,当然此处我用的就是Jquery插件了。

但写完发现单独测试公共JSP是可以使用的,但包含公共JSP页面的页面却始终不能使用JQuery,开始还以为是加载顺序的问题。

几经测试,终于发现了其中的问题。

由于做的项目文件较多,故文件都不放在一个文件夹下:在公共JSP页面中,有

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

<script type="text/javascript" src="js/jquery132min.js"></script>

<script type="text/javascript">    
    $(function(){
    alert('hello1');
    });
</script>

在调用它的时候,有:

<%@ include file="../../common_ext.jsp"%>

但这样很可能导致错误。

原因是,include之后,公共JSP被加载到自己的JSP,则JQueryr的相对位置已经发生了变化。即公共JSP把JQuery的相对位置传给了自己的JSP,但自己的JSP以自身为标准,通过路径就找不到Jquery插件了。简单地说,就是如果用相对路径,则公共JSP中的路径就应该是相对自己jSP的路径了。

但这样显然失去了它是公共JSP的意义,因此在这里用绝对路径来做:

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

<%
String tPath = request.getContextPath();
String tBasePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+tPath+"/";
%>

<script type="text/javascript" src="<%=tBasePath%>js/jquery132min.js"></script>
    <script type="text/javascript">
   
    $(function(){
    alert('hello1');
    });
   
    </script>

这样,只要在自己的jSP页面中引入公共JSP就可以了。

[JQuery]关于使用jsp:include标签及%@ include标签时要注意的事项相关推荐

  1. jsp:include标签与include指令的区别

    <!-- 把a.jsp和b.jsp包含到index.jsp里面一起编译,静态包含,先包含在编译 --> 而用include指令加载文件时,是将加载文件和Jsp页面合并成一个新的Jsp页面后 ...

  2. jsp page指令、include指令、include标签、forword标签、jsp注释方式

    目录 三种指令类型 Page指令 列:session与errorPage的运用 include指令 列:静态包含 标签 Include标签 列:实现动态包含发送接收信息 fordword标签 列:js ...

  3. JSP中的include指令和include动作的区别

    我们都知道在jsp中include有两种形式,分别是Include指令:<%@ include file=""%>和include动作:<jsp:include ...

  4. 浅谈JSP中include指令与include动作标识的区别

    JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...

  5. jsp中静态include和动态include的区别

    为什么80%的码农都做不了架构师?>>>    (1)静态导入(include指令)通过file属性指定被包含的文件,并且file属性不支持任何表达式:动态导入(include动作) ...

  6. JSP中两种include的区别

    jsp中有两种include,一种是<%@include file="xxx.jsp"%>,另一种是<jsp:include page="xxx.jsp ...

  7. jsp学习之包含——include

    http://blog.e23.cn/?uid-1255655-action-viewspace-itemid-134232 1.include: Include 指令: <%@ include ...

  8. JSP中include指令和include动作的区别

    include指令是编译阶段的指令,即include所包含的文件的内容是编译的时候插入到JSP文件中,JSP引擎在判断JSP页面未被修改,否则视为已被修改.由于被包含的文件是在编译时才插入的,因此如果 ...

  9. jsp中动态include与静态include的区别

    JSP中动态INCLUDE与静态INCLUDE的区别 动态INCLUDE用jsp:include动作实现 <jsp:include page="included.jsp" f ...

  10. JSP→Javabean简介设计原则、JSP动作、Javabean三个动作、Javabean四个作用域范围、Model1简介弊端、JSP状态管理、include动作指令、forword动作、param

    Javabean简介设计原则 JSP动作 useBean动作 setProperty动作 getProperty动作 Javabean的四个作用域范围 Model1简介弊端 JSP状态管理 Cooki ...

最新文章

  1. android sliding tab,android – 刷新SlidingTabLayout
  2. 莫慌!网络推广平台更新网站SEO优化中,被K降权怎么办?
  3. Python 循环中的陷阱(转载)
  4. kali NETCAT NC的使用
  5. 前端学习(3028):vue+element今日头条管理-使用icon图标的处理
  6. netty 高低位转码_Netty解决粘包和拆包问题的四种方案
  7. El 表达式、jstl学习
  8. python 堆_【译】Python中的堆排序
  9. 【教育知识与能力】人物总结
  10. 录音转文字 android,录音转文字pro
  11. 解读主流CDN厂商的节点数据
  12. 百度迁徙 迁入人口和迁徙规模爬虫
  13. 2021-5-record everthing
  14. 阅读《资本论》简单思考和笔记
  15. abp moveto mysql_abp 使用 hangfire结合mysql
  16. MySQL008:数据库引擎,如何设置引擎独立空间
  17. linux用屏幕录制软件下载,vokoscreenNG(屏幕录制软件)下载_vokoscreenNG(屏幕录制软件)官方下载-太平洋下载中心...
  18. 直播相关知识之二 采集、处理、编码和封装
  19. 【编写if时尽量不要带else】
  20. ArcGIS分级显示

热门文章

  1. Johnson-Trotter(生成排列算法)
  2. 第一篇:个人感悟----懒惰是人类最大的敌人
  3. HTML基础(四)常用的内联元素
  4. 数字水印常见攻击类型汇总,噪声,缩放,旋转,剪切(附matlab代码)
  5. 【深度学习】实例分割网络
  6. 【无监督】自编码器(Autoencoder)
  7. 【STM32F4系列】【HAL库】【自制库】WS2812控制(软件部分)
  8. On the Use of BERT for Automated Essay Scoring: Joint Learning of Multi-Scale Essay Representation学习
  9. springboot整合liquibase(补充)
  10. HTTP概念协议报文结构请求响应数据报分析