2013-03-26 41 views
0

我试图编写一个代码,它从数据库中检索值并使用slidetoggle()在屏幕上滑动它们。jQuery不能在JSP中工作

这是的.html文件没有数据库检索其完美的作品:

<html> 
<head> 

<script type="text/javascript" src="C:\Users\Mohit\Desktop\jquery-1.9.1.min.js"></script> 
</head> 
<body onload="handleChange();"> 

<label><input type='checkbox' onchange='handleChange();'>Check box</label> 

<script> 
function handleChange() 
{ 
    $('.slideTogglebox').slideToggle(); 
} 
</script> 
<div class="slideTogglebox"> 
    <ul> 
     <li><input type="checkbox">Judge1</li> 
     <li><input type="checkbox">Judge2</li> 
    </ul> 
</div> 
</body> 
</html> 

然后我写了这个的.jsp文件包括上面的jQuery与数据库检索,但在输出是只显示检索到的值,但slidetoggle()功能不起作用。

<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %> 
<html> 
<head> 

<script language="javascript" type="text/javascript" src="C:\Users\Mohit\Desktop\jquery-1.9.1.min.js"></script> 
<script language="javascript"> 
function handleChange() 
{ 

    $('.slideTogglebox').slideToggle(); 

} 
</script> 
</head> 
<body onload="handleChange();"> 
<% 
    try{ 
     Connection conn = null; 
     ResultSet rs; 

      Class.forName("com.mysql.jdbc.Driver"); 
     conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/aniket","root",""); 
     String strsql=null; 
     strsql="select * from projects"; 
     Statement stmt=conn.createStatement(); 
     rs=stmt.executeQuery(strsql); 
     while(rs.next()) 
     {%><br><input type='checkbox' onchange='handleChange();'><% 
      out.print("CO"+rs.getInt(1)+""); 
      out.print(rs.getString(2)); 
     } 
     } 
     catch(Exception e) 
     { 
      e.printStackTrace(); 
      System.out.println(e); 
     } 
%> 
    <div class="slideTogglebox"> 
    <% 
      Connection conn1 = null; 
       ResultSet rs1; 
      conn1=DriverManager.getConnection("jdbc:mysql://localhost:3306/aniket","root",""); 
      String strsql1=null; 
      strsql1="select * from judges"; 
      Statement stmt=conn1.createStatement(); 

      rs1=stmt.executeQuery(strsql1); 
      while(rs1.next()) 
      {%><br><input type='checkbox'><% 
      out.print(rs1.getInt(1)); 
      out.print(rs1.getString(2)); 
     }%> 
</div> 
</body> 
</html> 

回答

3

你应该使用一个URI scheme URL到jQuery脚本文件,而不是绝对的文件系统路径。理想情况下,这将是类似于

<script src="/javascript/jquery-1.9.1.min.js"></script> 

其中jQuery脚本是您的应用程序的一部分。

如果你只想在本地机器上运行它,你可以使用文件系统路径,但它应该使用file URI scheme

<script src="file:///C:/Users/Mohit/Desktop/jquery-1.9.1.min.js"></script> 

一个更好的解决办法是使用Google CDN link,如

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 

一件事,你真的应该添加一个DOCTYPE到文档的顶部。我推荐HTML5

<!DOCTYPE html> 
+0

非常感谢,先生,谷歌CDN链接工作。并感谢您的更正,我将学习在JSP中避免使用Javascript。 – user2213232 2013-03-27 10:16:51

+0

@ user2213232为什么你要在JSP中避免使用JavaScript?你是不是指“Java”? – Phil 2013-03-27 22:55:44

+0

哦对不起,是的,我的意思是“java”。 – user2213232 2013-03-28 14:05:56