JSP页面中怎么引入js文件

JavaScript027

JSP页面中怎么引入js文件,第1张

1)引入的js文件出错,

检查方法:将Js的内容写在当前的页面的<script></script>之间,看是否能够正常运行,如果不能,请核查代码

2) 如果引入的代码在当前页面中能够正常运行,但当引入时不能正常运行,则有两种可能

A:引入Js的路径有问题

B:引入的Js的编码格式与当前页面不匹配;

3)引入Js的路径问题

js的引入不外乎两种,相对路径与绝对路径

test.js 与index.jsp 放在同一文件夹下,比如: web应用/manage/下面

第一种情况 :

一般在学习时, 一个tomcat上都跑多个工程, 用工程名来区分

因为我的的URL是 :http://localhost/工程名 /manage/index.jsp

多了一个工程名,所以要加 <%=request.getContextPath() %>

如下:

<script src="<%=request.getContextPath() %>/manage/test.js"></script>

第二种情况:

访问JSP文件时, 用相对路径引入JS,CSS文件是OK的

真实项目中, 一个tomcat上要是也跑了多个工程, 并用IP来区分

url 是这样的: http://localhost/manage/index.jsp 注意这里,是直接访问JSP文件,不是servlet,不是struts .

test2.js 与index.jsp 放在同一文件夹下,下面用相对路径来引入 JS文件 是OK 的:

<script src=test2.js></script>

第三种情况:一个通过Action跳转之后到达的Jsp页面需要引入一个Js文件:

这种情况下,请使用绝对路径,

在第二情况的基础上, 我们访问的是 servlet 或是struts的action , 再转发到 index.jsp

url 是: http://localhost/***.do或者 http://localhost/***.action 这里不是访问JSP文件了

因此路径应该这么写:

<script src="/manage/test.js"></script>

test2.js 前面一定要有/manage/

或者:<script src="http://127.0.0.1/工程名/manage/test.js"></script>这种方法推荐

在引入js时,我们应该养成良好的习惯,请使用绝对路径,在开发时,能够大大的提高自己的开发效率。

4)引入js的编码问题

将两者的编码改为一致,一般我们可以修改JS文件编码使其与页面编码一致。

第二种方式是使用script标记的charset属性来显式指明所引入js文件的编码。如<script src="xx.js" charset="gbk"></script>这样无论页面是什么编码,都可以正常的访问这个JS中的内容。

相比之下,第二种可能更方便一些,而且作为一种好的习惯,平时我们应该尽可能都写上charset属性。

HTML中引用JS 步骤如下:

1、打开电脑端html编辑器,然后新建HTML文件,以便待会用来引入js文件。

2、如图,如果想在head标签中使用javascript脚步,那么最好加入window.onload,然后在花括号里面写js代码。

3、而如果是在body下边,那就好办多了,可以直接在script里面写js代码,不需window.onload。

4、也可以新建js文件,把html和js分离。

5、然后在js文件里面写代码,注意不要用script标签。

6、然后在script里面用src来把之前的js文件链接好即可。

如果想用纯JS来实现,是没有办法的,提供两个方案

1. 用JS来实现,但是需要自己手工把文件名列表弄出来,作为数据,如下

var files = ['文件名1‘, '文件名2', '文件名3',...] // 这个数组放该目录下的所有文件名

var dir = '/path/to/your/directory/' // 这里放对应的路径

for (var i=0i<files.lenghti++) {

var script = document.createElement('script')

script.type= "text/javascript"

script.src = dir + files[i] + ".js"

document.getElementsByTagName('head')[0].appendChild(script)

}

2. 第二种方法和一楼说的差不多,通过后端模板或者程序来遍历目录,把对应的文件都生成到html当中