JSP页面局部刷新

jsp+ajax自动刷新局部页面
通过 AJAX,JavaScript 可使用 JavaScript 的 XMLHttpRequest 对象来直接与服务器进行通信。通过这个对象, JavaScript 可在不重载页面的情况与 Web 服务器交换数据。 AJAX 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。实验中利用JSP+ajax来实现自动刷新页面,并读/写数据库中的数据。 下面介绍一下利用JSP+ajax来实现局部页面刷新的小例子:

处理ajax请求的jsp文件:ajax.jsp

   <%@ page contentType="text/html; charset=gb2312" %>  
      
    <%  
    //设置输出信息的格式及字符集  
    response.setContentType("text/xml; charset=UTF-8");  
    response.setHeader("Cache-Control","no-cache");  
    out.println("<response>");  
      
    for(int i=0;i<2;i++){  
    out.println("<name>"+(int)(Math.random()*10)+  
       "号传感器</name>");  
    out.println("<count>" +(int)(Math.random()*100)+ "</count>");  
    }  
    out.println("</response>");  
    out.close();  
    %>   

发送ajax请求的jsp文件:zx.jsp

<head>  
    <META http-equiv=Content-Type content="text/html; charset=gb2312">  
    </head>  
    <script language="javascript">  
      
    var XMLHttpReq;  
        //创建XMLHttpRequest对象         
        function createXMLHttpRequest() {  
            if(window.XMLHttpRequest) { //Mozilla 浏览器  
                XMLHttpReq = new XMLHttpRequest();  
            }  
            else if (window.ActiveXObject) { // IE浏览器  
                try {  
                    XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");  
                } catch (e) {  
                    try {  
                        XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");  
                    } catch (e) {}  
                }  
            }  
        }  
        //发送请求函数  
        function sendRequest() {  
            createXMLHttpRequest();  
            var url = "ajax.jsp";  
            XMLHttpReq.open("GET", url, true);  
            XMLHttpReq.onreadystatechange = processResponse;//指定响应函数  
            XMLHttpReq.send(null);  // 发送请求  
        }  
        // 处理返回信息函数  
        function processResponse() {  
            if (XMLHttpReq.readyState == 4) { // 判断对象状态  
                if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息  
                    DisplayHot();  
                    setTimeout("sendRequest()", 1000);  
                } else { //页面不正常  
                    window.alert("您所请求的页面有异常。");  
                }  
            }  
        }  
        function DisplayHot() {  
            var name = XMLHttpReq.responseXML.getElementsByTagName("name")[0].firstChild.nodeValue;  
            var count = XMLHttpReq.responseXML.getElementsByTagName("count")[0].firstChild.nodeValue;  
            document.getElementById("product").innerHTML = name;      
            document.getElementById("count").innerHTML = count;   
        }  
      
      
    </script>  
      
    <body onload =sendRequest()>  
    <table style="BORDER-COLLAPSE: collapse" borderColor=#111111 cellSpacing=0 cellPadding=0 width=200    bgColor=#f5efe7 border=0>  
      
    <TR>  
       <TD align=middle bgColor=#dbc2b0 height=19 colspan="2"><B>无线传感网</B> </TD>  
    </TR>  
    <tr>  
       <td height="20"> 传感器:</td>  
       <td height="20" id="product"> </td>  
    </tr>  
    <tr>  
       <td height="20">传感器个数:</td>  
       <td height="20" id="count"> </td>  
    </tr>  
    </body>  
    </table>

在这里插入图片描述
转自:https://www.cnblogs.com/zhxiang/archive/2013/05/09/3068579.html

JSP局部刷新页面表格可以通过AJAX来实现。具体步骤如下: 1. 在JSP页面中引入jQuery库和ajax请求处理的JSP文件。 2. 在JSP页面中设置一个div或table标签,用于显示需要刷新的内容。 3. 在ajax请求处理的JSP文件中,查询需要刷新的数据并以HTML格式输出。 4. 在JSP页面中编写ajax请求,将返回的HTML内容插入到div或table标签中,实现局部刷新。 具体代码实现可以参考以下步骤: 1. 在JSP页面中引入jQuery库和ajax请求处理的JSP文件: ``` <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script> ``` 2. 在JSP页面中设置一个div或table标签,用于显示需要刷新的内容: ``` <div id="tableDiv"></div> ``` 3. 在ajax请求处理的JSP文件中,查询需要刷新的数据并以HTML格式输出: ``` <% // 查询需要刷新的数据 List<User> userList = userService.getUserList(); %> <table> <thead> <tr> <th>姓名</th> <th>年龄</th> <th>性别</th> </tr> </thead> <tbody> <% for(User user : userList) { %> <tr> <td><%= user.getName() %></td> <td><%= user.getAge() %></td> <td><%= user.getGender() %></td> </tr> <% } %> </tbody> </table> ``` 4. 在JSP页面中编写ajax请求,将返回的HTML内容插入到div或table标签中,实现局部刷新: ``` <script> $(function() { // 绑定按钮点击事件 $("#refreshBtn").click(function() { // 发送ajax请求 $.ajax({ url: "refreshTable.jsp", type: "get", dataType: "html", success: function(data) { // 将返回的HTML内容插入到div标签中 $("#tableDiv").html(data); } }); }); }); </script> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值