手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >关于include标签导致js路径找不到的问题分析及解决
关于include标签导致js路径找不到的问题分析及解决
摘要:关于使用jsp:include标签及$(function(){alert('hello1');});这样,只要在自己的jSP页面中引入公共J...

关于使用jsp:include标签及<%@ include标签时要注意的事项

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

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就可以了。

【关于include标签导致js路径找不到的问题分析及解决】相关文章:

JavaScript实现带标题的图片轮播特效

JavaScript实现身份证验证代码

JavaScript生成福利彩票双色球号码

获取阴历(农历)和当前日期的js代码

document对象execCommand的command参数介绍

javascript嵌套函数和在函数内调用外部函数的区别分析

Javascript 高阶函数使用介绍

用srcElement实现添加效果 原创

微信jssdk在iframe页面失效问题的解决措施

js同源策略详解

精品推荐
分类导航