在JSP中引用JS文件的三种方法:
1、如果是直接访问JSP,则使用相对于JSP页面的相对路径:
image_1b18hnotn96o1psa12es191r1ma69.png-7.1kB
当项目目录如图所示时,则在NewFile.jsp中访问jquery-1.9.1.min.js的方法为:
<script type="text/javascript" src="../scripts/jquery-1.9.1.min.js"></script>
2、如果是从action跳转至JSP,则使用相对于WEB工程的相对路径:
image_1b18hnotn96o1psa12es191r1ma69.png-7.1kB
如果是从某一个action跳转到NewFile.jsp,则在NewFile.jsp中访问jquery-1.9.1.min.js的方法为:
<script type="text/javascript" src="scripts/jquery-1.9.1.min.js"></script>
3、适用于以上两种情况的方法——使用WEB工程的绝对路径:
<script type="text/javascript" src="${pageContext.request.contextPath }/scripts/j
Ⅱ jsp引入js文件的问题
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() %>
如下:
<scriptsrc="<%=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文件了
因此路径应该这么写:
<scriptsrc="/manage/test.js"></script>
test2.js 前面一定要有/manage/
或者:
<scriptsrc="http://127.0.0.1/工程名/manage/test.js"></script>
这种方法推荐
在引入js时,我们应该养成良好的习惯,请使用绝对路径,在开发时,能够大大的提高自己的开发效率。
4)引入js的编码问题;
将两者的编码改为一致,一般我们可以修改JS文件编码使其与页面编码一致。
第二种方式是使用script标记的charset属性来显式指明所引入js文件的编码。如
<scriptsrc="xx.js"charset="gbk"></script>
这样无论页面是什么编码,都可以正常的访问这个JS中的内容。
相比之下,第二种可能更方便一些,而且作为一种好的习惯,平时我们应该尽可能都写上charset属性。
Ⅲ jsp引入js文件的问题
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属性。
Ⅳ js怎样导入到jsp页面上在哪里用到js中的方法
通过在jsp上写<script src="js文件路径" type="text/javascript"></script>来导入js。通常是在页面控件的事件中使用js方法,比如onclick事件,onchange事件等
Ⅳ 如何引入自己写的js到jsp中
jsp是在服务器端将文件最终渲染成html的内容,并将内容发送给客户端。
js是在客户端(浏览器)读取到src标签后再向服务器请求静态文件后加载的。
所以你正常在jsp上写src标签即可。
通常情况下,项目会独立维护jsp的头或者尾的公共部分,并在每个页面上直接引入,而js文件通常在这些公共头或者尾上引入的 。
Ⅵ 如何将jsp内嵌在js中
最好不要写成这样子 js里面就写js方法
如果要写servlet最好另起一个页面,然后js调另外一个页面
这样写不好调式
后期也不好维护,过段时间你自己也不知道写的啥 要看半天
Ⅶ 在js中可以引用jsp中的数据吗
你好,
通常来说是可以的。我给你列举两种方法,你根据你的情况选择适合你的吧。
方法一:将jsp中的变量输出到html中的type为hidden的input中,js从input中去取值
<!--jsp页面中的input元素-->
<inputtype="hidden"value="<%=serverData%>"id="J_ServerData">
<!--
当然,挂在某一个DOM元素的属性上也是可以的
<divid="J_DataDiv"data-server-data="<%=serverData%>">页面中的任意DOM节点</div>
-->
<script>
//JS中读取jsp页面中输出到页面中的值
varinp=document.getElementById('J_ServerData');
//如果是div
//varnode=document.getElementById('J_DataDiv');
//取值
varserverData=inp.value;
//如果是属性
//varserverData=node.getAttribute('data-server-data');
console.log(serverData);
</script>
方法二:JS可以通过AJAX与服务端通信,只需服务端封装一个JSP接口,前端即可取到服务端数据,以jQuery为例
$.ajax({
url:'server_addr/api.jsp',
type:'get',
success:function(data){
//data就是服务端(jsp)返回的数据
console.log(data);
}
});
大致就这么多,希望能解决你的疑惑,如有疑问可追问~