天天看点

JSP中如何使用JQuery及相对路径问题

首先引入JQuery对应的js文件,然后引入自己的js文件,这里要注意先后顺序

<script type="text/javascript" src="./js/jquery-2.1.3.js"></script>
    <script type="text/javascript" src="./jsp/testJquery01.js"></script>
           

在引入这两个js文件的时候,遇到相对路径的问题

问题描述:在新创建的jsp页面中,自动会生成如下代码

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

在<head>中间有 <base href="<%=basePath%>" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" >

引入jQuery的js文件时,用如下路径引入:

     <script type="text/javascript" src="../js/jquery-2.1.3.js"></script>

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

就出现jQuery文件无效的问题

问题解决描述:

JSP中如何使用JQuery及相对路径问题

 base标记是一个基链接标记,是一个单标记。用以改变文件中所有连接标记的参数内定值。它只能标记<head>与</head>之间。

在网页上的所有相对路径在链接时都将前面加上基链接指向的地址。

  <script type="text/javascript" src="../js/jquery-2.1.3.js"></script>

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

在用如上形式引入时,会导致对应路径为:http://localhost:8088/js/jquery-2.1.3.js、http://localhost:8088/JQueryStudy/testJquery01.js

如果将<base href="<%=basePath%>" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" >去掉,会显示正常路径:http://localhost:8088/JQueryStudy/jsp/test01.jsp、http://localhost:8088/JQueryStudy/jsp/testJquery01.js

如果将<base href="<%=basePath%>" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" >保留,用如下形式引入js文件,也可正常显示:

   <script type="text/javascript" src="./js/jquery-2.1.3.js"></script>

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

说明:./ 表示当前目录   ../ 表示父级目录  / 根目录