網頁無閃自動局部刷新實例_JSP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:實現將子頁的表單值返回到父頁的表單中
      研究了一天終于寫好了,還是網絡資源豐富,總有高人指點!:) 父頁:send_message.jsp script language=javascript type= //open win function g_OpenWindow(pageURL, innerWidth, innerHeight) { var ScreenWidth=screen.availWidth var ScreenHeight=sc

      我們在網頁制作的過程中經常會遇到及時刷新數據的問題,如果使用<meta http-equiv=refresh content="300">的方法,會造成整個屏幕不斷閃爍刷新的效果,這會降低用戶的操作滿意度。所以我們需要一種可以實現無閃自動刷新數據的方法來解決以上問題。

      實例解決問題:

      希望實現用戶在進入系統以后(整個session的時效之內),如果收到新郵件則發出聲音提示。

      實現思路:

      1.首頁部分:<body onload="init('<%=ses_userBean.getUsername()%>');"> // load時調用init(user);

      2.js部分:用XMLHTTP實現頁面局部刷新,調用check_mail.jsp對后臺數據庫進行檢索判斷并返回結果。

       

      1. <!-- 
      2. var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
      3. var checkresult=null
      4. var username =null;  
      5.  
      6. function init(user){ 
      7. username=user; 
      8. window.setInterval('Checkmail()',5000);//每隔5秒自動調用Checkmail() 
      9.  
      10. function Checkmail() 
      11. xmlhttp.open("POST""check_mail.jsp?uName="+username, false); 
      12. xmlhttp.onreadystatechange = updatePage; 
      13. xmlhttp.send(); 
      14. function updatePage() { 
      15. if (xmlhttp.readyState < 4) { 
      16. test1.innerHTML="loading..."
      17. if (xmlhttp.readyState == 4) { 
      18. var response = xmlhttp.responseText; 
      19. if(response==1){//判斷為假 
      20. test1.innerHTML="&nbsp;"
      21. checkresult=1; 
      22. else{//判斷為真 
      23. test1.innerHTML="<img alt='新郵件' src='img/tp024.gif'><EMBED src='music/nudge.wma' hidden=true autostart=true loop=false>"
      24. checkresult=0; 
      25. // --> 

      3.check_mail.jsp

      1. <%@ page contentType="text/html; charset=GBK" %> 
      2. <%@ page errorPage="error/login_error.jsp"%> 
      3. <%@ page import="myweb.*" %> 
      4. <%@ page import="java.sql.*" %> 
      5. <% 
      6. String user=request.getParameter("uName"); 
      7. Connection conn=null
      8. try
      9. conn=DBConnection.getConnection(); 
      10. PreparedStatement pStat=conn.prepareStatement("select * from message where r_name='"+user+"' and status=0"); 
      11. ResultSet rs=pStat.executeQuery(); 
      12. if(rs.next()){//有記錄 
      13. response.getWriter().print(0); 
      14. }else
      15. response.getWriter().print(1); 
      16. }finally
      17. if(conn!=null) conn.close(); 
      18. %> 


      4.首頁結果顯示

      將<span id="test1"></span>插入指定位置。
       

      分享:JSP保存用戶上次登錄時間詳細代碼
      代碼是以Access庫為例,日期對象使用的java.sql.Date()類型,因為據測試java.util.Date類型是不能添加到DateTime類型的字段中的:作者:淘特網 出處:http://www.tot.name import java.sql.*; import java.text.*; /** * 代碼 */ public class MSAccessDB { p

      來源:模板無憂//所屬分類:JSP教程/更新時間:2012-06-11
      相關JSP教程