后端list集合中的數據傳遞到前台HTML中顯示(表格形式)
關鍵字:web項目中前后台數據傳遞問題
在學習web項目的過程中,我們肯定會遇到前后台數據交換問題。這個問題我也思考了很久,今天借此總結一下。由於博主水平有限,如有不當之處,還請大家多多指正,,廢話不所說進入正題。
一、HTML頁面通過ajax發送http請求
1,前端有個普通的HTML頁面,如下。
(頁面引入了jquery,頁面有個表格)

2,通過ajax發送請求
1 window.onload(function requestData(){
2 $.ajax({
3 url: "要訪問的地址",
4 type: "post",
5 dataType: "json",
6 success: function(data){
7 /*這個方法里是ajax發送請求成功之后執行的代碼*/
8 showData(data);//我們僅做數據展示
9 },
10 error: function(msg){
11 alert("ajax連接異常:"+msg);
12 }
13 });
14 });
3,后台的數據
1 @RequestMapping(value="/queryAllStudent")
2 public void query(HttpServletResponse resp) {
3 try {
4 /*list集合中存放的是好多student對象*/
5 List<Student> students = userService.getAllStudentInfo();
6 /*將list集合裝換成json對象*/
7 JSONArray data = JSONArray.fromObject(students);
8 //接下來發送數據
9 /*設置編碼,防止出現亂碼問題*/
10 resp.setCharacterEncoding("utf-8");
11 /*得到輸出流*/
12 PrintWriter respWritter = resp.getWriter();
13 /*將JSON格式的對象toString()后發送*/
14 respWritter.append(data.toString());
15 } catch (Exception e) {
16 e.printStackTrace();
17 }
18 }
1 public class student {
2 private int id;//id
3 private String name;//姓名
4 private String password;//密碼
5
6 //省略get set方法。。。
7 }
4,前台展示數據(表格形式)
1 //展示數據
2 function showData(data) {
3 var str = "";//定義用於拼接的字符串
4 for (var i = 0; i < data.length; i++) {
5 //拼接表格的行和列
6 str = "<tr><td>" + data[i].name + "</td><td>" + data[i].password + "</td></tr>";
7 //追加到table中
8 $("#tab").append(str); }
10 }
5,至此,完成了數據的傳遞
二、數據傳送的流程
前台(html)發送ajax請求 --> 后台servlet中接受到請求,然后響應數據(來自數據庫或其他) --> 前台(HTML)
ajax接受數據,處理數據(以表格顯示).

最后測試一下顯示效果

謝謝!

