后端list集合中的数据传递到前台HTML中显示(表格形式)

关键字:web项目中前后台数据传递问题

在学习web项目的过程中,我们肯定会遇到前后台数据交换问题。这个问题我也思考了很久,今天借此总结一下。由于博主水平有限,如有不当之处,还请大家多多指正,,废话不所说进入正题。

一、HTML页面通过ajax发送http请求

1,前端有个普通的HTML页面,如下。

(页面引入了jquery,页面有个表格)

后端list集合中的数据传递到前台HTML中显示(表格形式)

2,通过ajax发送请求

 window.onload(function requestData(){
$.ajax({
url: "要访问的地址",
type: "post",
dataType: "json",
success: function(data){
/*这个方法里是ajax发送请求成功之后执行的代码*/
showData(data);//我们仅做数据展示
},
error: function(msg){
alert("ajax连接异常:"+msg);
}
});
});

3,后台的数据

 @RequestMapping(value="/queryAllStudent")
public void query(HttpServletResponse resp) {
try {
/*list集合中存放的是好多student对象*/
List<Student> students = userService.getAllStudentInfo();
/*将list集合装换成json对象*/
JSONArray data = JSONArray.fromObject(students);
//接下来发送数据
/*设置编码,防止出现乱码问题*/
resp.setCharacterEncoding("utf-8");
/*得到输出流*/
PrintWriter respWritter = resp.getWriter();
/*将JSON格式的对象toString()后发送*/
respWritter.append(data.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
 public class student {
private int id;//id
private String name;//姓名
private String password;//密码 //省略get set方法。。。
}

4,前台展示数据(表格形式)

 //展示数据
function showData(data) {
var str = "";//定义用于拼接的字符串
for (var i = 0; i < data.length; i++) {
//拼接表格的行和列
str = "<tr><td>" + data[i].name + "</td><td>" + data[i].password + "</td></tr>";
//追加到table中
$("#tab").append(str); }
}

5,至此,完成了数据的传递

二、数据传送的流程

前台(html)发送ajax请求 --> 后台servlet中接受到请求,然后响应数据(来自数据库或其他) --> 前台(HTML)

ajax接受数据,处理数据(以表格显示).

后端list集合中的数据传递到前台HTML中显示(表格形式)

最后测试一下显示效果

后端list集合中的数据传递到前台HTML中显示(表格形式)

谢谢!

上一篇:剖析 Rails 3 MVC 中的数据传递


下一篇:etymon word write alb pain high alt increase large agency ag lose weight fat assist out~3