项目-----学生管理系统06------查询ajax

本文介绍如何在学生管理系统中运用Ajax实现客户端无关性的分页数据查询。通过在index.jsp页面发送Ajax请求,控制器返回以JSON格式的数据,避免了传统方式的页面刷新,提升了用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:前面我们使用的是都是模拟一个请求去访问controller,今天使用ajax发送请求。

好处:实现客户端无关性

1、index.jsp页面直接发送ajax请求进行分页数据查询。

2、服务器将查出的数据,以json字符串的形式返回给浏览器。

3、返回json实现客户无关性。

包:

<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>2.8.8</version>
		</dependency>

controller:

@ResponseBody
	@RequestMapping("allSta")//获得请求allSta就执行下面的方法
	public Msg getAllStudentMessgeWith(@RequestParam(value="pn",defaultValue="1")Integer pn,Model model){
		PageHelper.startPage(pn, 5);//使用myBatis分页查询。第一个值:相当于当前页,
		List<Sbasicmessage> bas= basicService.getallStu();
		PageInfo page=new PageInfo(bas,3);//使用pageinfo封装查询结果
		model.addAttribute("pageInfo", page);
		return Msg.success().add("pageInfo", page);
	}

@responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML。数据需要注意的呢,在使用此注解之后不会再走试图处理器,而是直接将数据写入到输入流中,他的效果等同于通过response对象输出指定格式的数据。

工具类:

package com.utils;

import java.util.HashMap;
import java.util.Map;

public class Msg {
	//状态码,100:成功,200:失败
	private int code;
	//提示信息,操作成功或异常
	private String msg;
	//用户返回给浏览器的数据封装对象map
	private Map<String,Object> map=new HashMap<String, Object>();
	
	//常用的成功方法
	public static Msg success(){
		Msg result= new Msg();
		result.setCode(100);
		result.setMsg("成功");
		return result;
	}
	//常用的失败方法
	public static Msg fail(){
		Msg result= new Msg();
		result.setCode(200);
		result.setMsg("失败");
		return result;
	}
	//定义一个链式操作的添加方法
	public Msg add(String key,Object value){
		this.getMap().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<String, Object> getMap() {
		return map;
	}
	public void setMap(Map<String, Object> map) {
		this.map = map;
	}
	
	

}

index.jsp:

<script type="text/javascript">
		//页面一旦加载为成,执行此方法
		$(function() {
			$.ajax({
				url : "${APP_PATH}/allSta",
				data : "pn=1",
				type : "GET",
				success : function(result) {
					console.log("成功");
					alert("操作状态码:");
				}
			});
		});
	</script>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值