jsp代码中间插入JS代码的格式,代码如下:
<script lanuage="javascript">function justiice(t){if (t>0){
alert("account is exsiting")
}
}
else{
'redirect the other page!'
}
</script>
<%int i=conn.executeQuery("select count(1) fromtable where id='输入帐户'")%>
<input type=button onclick=justiice('<%=i%>')>
<! But i want to tell you that the sql statement you can't insert into your current page, it may incur SQL injection,Be cautious!>
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页面通过<script src="js文件的相对地址">来导入。当然你写在<head>里也可以。最好能不写在页面里就不写在页面里。。实现一般都用外部js文件导入。一是分离开,方便修改。二是可以js代码复用。你想啊,只写在一个jsp里,如果我另一个要用怎么便????你复制过去吗???这个和java里的封装方法一个思想所以建议通过外部 js导入 像楼主提供的这种简单的js。一般直接放在页面中即可。我说的是方法比较多的情况才用外部文件。这个也不难区别的。