Easyui Datagrid 如何實現后台交互顯示用戶數據列表


轉自:https://blog.csdn.net/Tomsheng321/article/details/50722571?utm_source=blogxgwz9

新手初學的時候可能有個疑問:如何在數據表格中不通過按鈕事件直接顯示后台列表信息?我在學習的時候也碰到了這個問題,糾結了很長時間,現在將代碼貼出來給初學者以提示:

大家都知道EasyUi都是用json進行前后台數據交互的, datagrid有一個屬性: url,可以直接到這個url中進行查詢等后台操作,最后return一個json對象,這是datagrid可以直接接收這個 json對象,並自動把內容顯示到table中。下面貼出代碼,很簡單的servlet做后台處理。

前台:

[html] view plain copy 在CODE上查看代碼片派生到我的代碼片
  1. <!-- 顯示列表 -->  
  2. <table id="dg" title="" class="easyui-datagrid"  
  3.     style="width:700px;height:250px"   
  4.     toolbar="#toolbar" pagination="true" rownumbers="true"  
  5.     fitColumns="true" singleSelect="true" fit="true" border="0"  
  6.     url="../servlet/Table_Do" >  
  7.     <thead>  
  8.         <tr>  
  9.             <th field="name" width="50">姓名</th>  
  10.             <th field="age" width="50">年齡</th>  
  11.             <th field="phone" width="50">電話</th>  
  12.             <th field="email" width="50">郵箱</th>  
  13.         </tr>  
  14.     </thead>  
  15. </table>  

后台:

[html] view plain copy 在CODE上查看代碼片派生到我的代碼片
  1. public void doPost(HttpServletRequest request, HttpServletResponse response){  
  2.         String account="5";         //= request.getParameter("account");  
  3.         JSONObject json = new JSONObject();  
  4.         JSONArray array = new JSONArray();  
  5.         JSONObject member = null;  
  6.         Table t = new Table();  
  7.         ArrayList<Table> a;  
  8.         try {  
  9.             a = t.listAll();  
  10.             for (int i=0;i<a.size();i++) {  
  11.                 member = new JSONObject();  
  12.                 member.put("name", a.get(i).getName());  
  13.                 member.put("age", a.get(i).getAge());  
  14.                 member.put("phone", a.get(i).getPhone());  
  15.                 member.put("email", a.get(i).getEmail());  
  16.                 array.add(member);  
  17.             }  
  18.         } catch (SQLException e1) {  
  19.             e1.printStackTrace();  
  20.         }  
  21.         PrintWriter pw;  
  22.         try {  
  23.             pw = response.getWriter();  
  24.             pw.print(array.toString());  
  25.             pw.close();  
  26.         } catch (IOException e) {  
  27.             e.printStackTrace();  
  28.         }   
  29.     }  
[java] view plain copy 在CODE上查看代碼片派生到我的代碼片
  1. public ArrayList<Table> listAll() throws SQLException{  
  2.    Connection conn = null;  
  3.    PreparedStatement ps = null;  
  4.    ResultSet rs = null;  
  5.      
  6.    ArrayList<Table> list = new ArrayList<Table>();  
  7.    try{  
  8.     conn=DBConnection.getConnection();  
  9.     String sql = "select * from tab";  
  10.     ps = conn.prepareStatement(sql);  
  11.     rs = ps.executeQuery();  
  12.     Table user = new Table();  
  13.     while(rs.next()){  
  14.      user.setName(rs.getString("name"));  
  15.      user.setAge(rs.getInt("age"));  
  16.      user.setPhone(rs.getString("phone"));  
  17.      user.setEmail(rs.getString("email"));  
  18.      list.add(user);  
  19.    }  
  20.    }finally{  
  21.     DBConnection.close(rs, ps, conn);  
  22.    }  
  23.    return list;  
  24.   }  


這里需要注意幾點:

一: 后台傳來的數據一定要是json類型的

可以現在后台控制台打印一下看看

二:json數組的名稱要和前台列表的表頭對應


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM