本文以取一些数据做威实例,使数据库种的数据回显在页面上,通过Ajax实现,
Ajax:看了网上大部分资料所描述的Ajax实在是看不懂,以下就以我自己的理解来说一下Ajax的用法,首先我们通过后端控制器获取数据库数据 以后以json串的形式展示,首先我们可以封装一个Msg实例对象,用于返回状态码、状态信息、数据集以及两个返回结果方法,如下:
package com.wzs.bean;
import java.util.HashMap;
import java.util.Map;
import com.sun.corba.se.spi.orbutil.fsm.Guard.Result;
public class Msg {
private int code;//状态码
private String msg;//状态信息
private Map
extend=new HashMap();//结果集
//状态码返回200时返回处理成功信息
public static Msg success() {
Msg result = new Msg();
result.setCode(200);
result.setMsg("处理成功");
return result;
}
//状态码返回100时返回处理失败信息
public static Msg fail() {
Msg result = new Msg();
result.setCode(100);
result.setMsg("处理失败");
return result;
}
public Msg add(String key,Object value) {
this.getExtend().put(key, value);
return this;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Map getExtend() {
return extend;
}
public void setExtend(Map extend) {
this.extend = extend;
}
}
在控制器种实现Msg类型的getEmpsWithJson方法,用于返回结果集信息(json
):如下:
@ResponseBody
@RequestMapping("/emps")
public Msg getEmpsWithJson(@RequestParam(value = "pn",defaultValue = "1")Integer pn) {
PageHelper.startPage(pn,5);
List emps = empservice.getAll();
PageInfo page = new PageInfo(emps,5);
//返回成功方法
return Msg.success().add("pageInfo", page);
}
访问测试后发现此时我们获取的相关结果在result集合里,分页信息pageInfo在
结果集的extend集合里面,我们想要展示的数据库信息在分页信息的list集合里
到了这一步之后,我们只需要通过前端页面使用Ajax将控制器获取到的json取出相应的值放入指定位置即可
前端代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>员工列表 <% pageContext.setAttribute("APP_PATH", request.getContextPath()); %> SSM-CRUD
| empId | empName | empGender | empEmail | empDeptName | option |
|---|
此时我们只需要访问项目即可达到我们想要的结果



