2013-02-06 33 views
0

我是html5的初学者& jsp, 我只想在roomlist从数据库更改时进行检索。 基本上当我点击roomlist这是从我的主网页的标题我可以得到roomlist但如果另一个用户腾出空间,我不能实时获得roomlist。请帮助我,谢谢如何从jsp中更改数据库时检索内容

听到的是我的炫魅代码

<%@ page language="java" contentType="text/html; charset=EUC-KR" 
pageEncoding="EUC-KR"%> 
<%@ page import="java.sql.*"%> 
<%@ page import="java.util.*" %> 
<% request.setCharacterEncoding("euc-kr"); %> 
<html> 
<Head> 
    <meta http-equiv="Content-Type" content="text/html; charset=EUC-KR"> 
    <title>RoomListing</title> 
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a4.1/jquery.mobile-1.0a4.1.min.css" /> 
    <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script> 
    <script src="http://code.jquery.com/mobile/1.0a4.1/jquery.mobile-1.0a4.1.min.js"></script> 
    <script type="text/javascript"> 
    function ReloadPage() { 
     location.reload(); 
     alert("hihi"); 
    }; 
    $(document).ready(function() { 
     alert("hi");  

     setInterval("ReLoadPage()", 3000); 
    }); 
    </script> 
</Head> 
<body> 
<section id="page1" data-role="page"> 
<% 
//String subject = request.getParameter("subject"); 


Connection conn = null; 
Statement stmt = null; 

try{ 
    Class.forName("com.mysql.jdbc.Driver").newInstance(); 
    conn = DriverManager.getConnection("jdbc:mysql://localhost:8888/test", 
      "root", "1234"); 
    if(conn==null) 
     throw new Exception("데이터베이스에 연결할 수 없습니다.<br>"); 


    stmt = conn.createStatement(); 
    ResultSet rs = stmt.executeQuery("select * from roominfo"); 
    ArrayList<String> room_list = new ArrayList<String>(); 
    while(rs.next()){ 
     room_list.add(rs.getString("id")+":"+rs.getString("subject")+":"+rs.getString("content")); 
    } 


    int num = room_list.size(); 
    request.setAttribute("num", num); 

    for(int i=0; i<num; i++){ 

     String room_name = null; 
     String max = room_list.get(i); 
     out.print("<input type ='button' id = 'button1' value = "+max+">"); 
     request.setAttribute("room_name"+i, room_list.get(i)); 
    } 

}catch(Exception e){ 
    e.printStackTrace(); 

}finally{ 
    try{ 
     stmt.close(); 
    }catch (Exception ignored){ 
    } 
    try { 
     conn.close(); 
    }catch(Exception ignored){} 

    } 
//RequestDispatcher dispatcher = request.getRequestDispatcher("RoomListing1.jsp"); 
//dispatcher.forward(request, response); 

%> 

</section> 
</body> 
</html> 

回答

0

基本上刷新或重新加载只会更改JSP相关的东西喜欢的颜色,图像,风格等 内小脚本编写的Java代码,什么都没有用刷新做。所以当一个房间列表被点击时,所发生的只是页面刷新没有别的。如果你想动态获取数据,你需要创建一个servlet来管理每次点击用户列表或刷新页面时应该调用的java相关活动。你不能在JSP中编写完整的代码,它不是一个好方法。

+0

谢谢,我只是解决问题...其实我把javascritp重载方法在此代码的BUTTOM ...和它的工作。但如果我想只在数据库发生变化时才上传页面,我应该使用ajax吗?再次感谢 –

相关问题