Ajax -02 -JQuery+Servlet -实现页面点击刷出表格数据

  1. demo功能分析

    1. jquery 的js文件需要导入,json的三个文件需要导入,不然writeValueAsString 会转化成JsonArray(json 数组)失败
    2. $("#mytbody").html(result);相当innerHTML先清空后添加 ,并且注意对应下面的id,需要加 "#" !
    3. 在servelt中
      1.    resp.setContentType("application/json;charset=utf-8"); //设置json字符流为utf-8
      2. PrintWriter out = resp.getWriter(); out.print() 中的内容就是服务器返回的内容 ,out里不要写(返回)其他的多余信息, 笔者不小心加上了一段辅助信息   "
         out.print("服务器返回的内容: \n");

        "  ,然后找了大半天的bug! 毕竟,加上后,json就没法进行解析了!!

      3. jquery.post()的callback 是成功时的回调函数, 接受 out.print() 中的json内容,然后以html的形式进行显示
      4. api :  
      5. 数据库:没有, 数据只有两个简单的Users对象,组成一个ArrayList.
      6. EL表达式同样胜任.
  2. 工程组织

    1.   

  3. servlet 代码

    1.   

      public class Users {
          private int id;
          private String password,username;
         //   getter/setter........
      }

      import com.fasterxml.jackson.databind.ObjectMapper;
      
      import javax.servlet.ServletException;
      import javax.servlet.annotation.WebServlet;
      import javax.servlet.http.HttpServlet;
      import javax.servlet.http.HttpServletRequest;
      import javax.servlet.http.HttpServletResponse;
      import java.io.IOException;
      import java.io.PrintWriter;
      import java.util.ArrayList;

      头文件

      @WebServlet("/demo")
      public class DemoServlet extends HttpServlet {
          @Override
          protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
              System.out.println("执行demo控制器............");
      
              Users users=new Users(); //建立pojo对象
              users.setId(1);
              users.setPassword("123456");
              users.setUsername("张三");
      
              Users users2=new Users(); //建立pojo对象2
              users2.setId(2);
              users2.setPassword("123456");
              users2.setUsername("李四");
      
              ArrayList<Users> list=new ArrayList();
              list.add(users);
              list.add(users2);
      
              ObjectMapper mapper = new ObjectMapper(); //将对象list转化为json字符串
              String result= mapper.writeValueAsString(list);
      
                                  //请求头:MIME 格式;
              resp.setContentType("application/json;charset=utf-8"); //设置json字符流为utf-8
              PrintWriter out = resp.getWriter();
           //   out.print("服务器返回的内容: \n");
              out.println(result);
      
              out.flush();
              out.close();
          }
      }

      测试/demo 控制器

  4. JQuery 代码

    1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
      
      <html>
        <head>
          <title>$Title$</title>
          <script type="text/javascript" src="js/jquery-1.7.2.js"></script>
          <script type="text/javascript">
              $(function () {
                  $("a").click(function () {
                      $.post("demo",{},function (data) {
                          var result="";
                          for(var i=0;i<data.length;i++){
                              result+="<tr>";
                              result+="<td>"+data[i].id+"</td>";
                              result+="<td>"+data[i].username+"</td>";
                              result+="<td>"+data[i].password+"</td>";
                              result+="</tr>";
                          }
                          //$("table").append(result);
                          //相当innerHTML先清空后添加
                          $("#mytbody").html(result);
                      })
                      return false;
                  })
              });
          </script>
        </head>
        <body>
          <a href="demo">点击显示下面表单的详细信息</a>
          <br/>
          <br>
          <table border="1">
            <tr>
              <td>编号</td>
              <td>账号</td>
              <td>密码</td>
            </tr>
            <tbody id="mytbody"></tbody>
          </table>
      
        </body>
      </html>


    2. 最后, jsp的EL表达式同样可以实现这个功能,个人感觉还更方便,一个setParameter ,另一个直接getParameter ,岂不更直接了断哉23333~~

        

原文地址:https://www.cnblogs.com/zhazhaacmer/p/10315380.html

时间: 2024-10-04 07:14:03

Ajax -02 -JQuery+Servlet -实现页面点击刷出表格数据的相关文章

jquery连接html页面做一个弹出框输入

开发中遇到一个功能金额满10000元会弹出一个身份验证,前端jq实现代码: art.dialog.open('html页面连接地址',{    title: '身份验证',    cancelVal: '关闭',    okVal: '提交',    width: '500px',    height: '200px',    lock: true,    fixed: true,    drag: false,    ok: function (iframeWin,topWin) {     

ajax在jQuery中的应用 (2)请求服务器数据

通过XMLHttpRequest和jQuery两种方式实现ajax(即无刷新页面获取数据)

一.XMLHttpRequest实现获取数据 不使用jQuery实现页面不刷新获取内容的方式,我们这里采用XMLHttpRequest原生代码实现:js代码如下: //1.获取a节点,并为其添加Oncilck响应函数document.getElementsByTagName("a")[0].onclick = function(){ //3.创建一个XMLHttpRequest(); var request = new XMLHttpRequest(); //4.准备发送请求的数据ur

jQuery Ajax传值给Servlet,在Servlet里接受参数乱码的解决方法

最近在学jquery ui,在做一个小功能的时候需要将前台的值获取到,通过Ajax传递给Servlet,然后再在返回数据结果,但是在Servlet接受参数的时候,通过后台打印,发现接受乱码,代码示例如下: public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/ht

032.Ajax+Json+Jquery

AjjA: AjaxJ: JSONJ: jQuery -----------------------------------------------JSONJavascript Object NotationJS对象标记 class User{ public int Id{get;set;} public string Name{get;set;} public string Phone{get;set;} // public string HomeAddress{get;set;} // pu

通过原生js的ajax或jquery的ajax获取服务器的时间

在实际的业务逻辑中,经常是与时间相关的,而前端能获得的时间有两个:客户端的时间,服务器的时间.客户端时间通过 javascript中的Date对象可以获取,如 Java代码   var dt = new Date(); var tm = dt.getTime(); 那么tm就是客户端的时间,另外也可以通过对应的getFullYear(),getMonth(),getDate()取到对应的年月日等...但这个时间可靠吗?好吧,那取服务器时间吧经常用到的是后台写一个php,jsp,cgi,asp..

web基础知识(二)关于ajax,Jquery传值最基础东西

这次还是一些关于jQuery,ajax前后台传值情况, 是自己在做点小东西过程中遇到的,记录下来为自己也方便别人 列表很多,点击编辑和删除无刷新的进行操作的话,肯定是ajax了,因为无刷新嘛,可能有的朋友会说直接传值,传ID到Action删除不就OK了,用得着写js么,纯粹自己找麻烦嘛. 其实这里重点是无刷新的啦, 这个上传后到这里来,有个预览功能,把本次的全部预览,如果全部刷新的话,那么刚才上传的就不会在这个页面了,so,还是采用无刷新的比较好. 点击编辑跳到一个新的页面的时候有两种方法可以选

从零开始学习jQuery (七) jQuery动画-让页面动起来!

原文:从零开始学习jQuery (七) jQuery动画-让页面动起来! 本系列文章导航 从零开始学习jQuery (一) 开天辟地入门篇 从零开始学习jQuery (二) 万能的选择器 从零开始学习jQuery (三) 管理jQuery包装集 从零开始学习jQuery (四) 使用jQuery操作元素的属性与样式 从零开始学习jQuery (五) 事件与事件对象 从零开始学习jQuery (六) jQuery中的Ajax 从零开始学习jQuery (七) jQuery动画-让页面动起来! 从零

Ajax与jQuery、json

一.Ajax简介 Ajax(Asynchronous JavaScript and Xml)--异步刷新技术 Ajax的关键元素包括以下内容: ① JavaScript语言:Ajax技术的主要开发语言. ② XML/JSON/HTML等:用来封装请求或响应的数据格式 ③ DOM(文档对象模型):通过DOM属性或方法修改页面元素,实现页面局部刷新 ④ CSS:改变样式,美化页面效果,提升用户体验度 ⑤ Ajax引擎:即XMLHttpRequest对象,以异步方式在客户端与服务器之间传递数据. 二.