博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC+Jquery -页面异步载入数据
阅读量:6328 次
发布时间:2019-06-22

本文共 4242 字,大约阅读时间需要 14 分钟。

背景:

做项目时涉及到页面。当我打算在controller中传一个list到页面,然后通过<c:foreach>循环遍历出来时,同事说:你这样每次都要刷新。这都是几百年前使用的技术了。你用post实现异步载入数据。然后就......

ResultUtil.java 工具类:

package com.sgcc.uds.fs.config.web.util;import java.util.HashMap;import java.util.Map;import net.sf.json.JSONObject;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;public class ResultUtil {	/** 日志 */	private static Log logger = LogFactory.getLog(ResultUtil.class);	// 保存json对象	private Map
results; // 消息"key public static final String MSG = "msg"; // 成功标识 key public static final String SUCCESS = "success"; // 单对"key public static final String OBJ = "obj"; // 列表对象 key public static final String ORWS = "rows"; // 总计"key public static final String TOTAL = "total"; // 状" key public static final String STATUS = "status"; public ResultUtil() { this.results = new HashMap
(); this.results.put(SUCCESS, true); } public Map
getResult() { return this.results; } public void setResult(Map
set) { this.results = set; } public boolean getSuccess() { return (Boolean) results.get(SUCCESS); } public String getMessage() { return (String) results.get(MSG); } public void setRows(Object list) { this.results.put(ORWS, list); } public void setTotal(Integer total) { this.results.put(TOTAL, total); } /** * 依据" 自己定义加入属" * * @param key * 属"标识 * @param value */ public void setProperty(String key, Object value) { try { this.results.put(key, value); } catch (RuntimeException e) { logger.error("-->>设置key为:" + key + "值为" + value + " Json时出错:", e); } } /** * 设置状"信息 * * @param status */ public void setStatus(String status) { setProperty(STATUS, status); } /** * 设置成功标志 " 用于程序运行是否正常 * * @param success * 成功标识 */ public void setSuccess(boolean success) { setProperty(SUCCESS, success); } /** * 设置消息 * * @param msg * 消息" */ public void setMsg(String msg) { setProperty(MSG, msg); } /** * 设置总计" * * @param size */ public void setTotal(int size) { setProperty(TOTAL, size); } public void setSize(int size) { setProperty(TOTAL, size); } /** * 加入对象列表 数据为json格式 * * @param data * 对象列表json格式 */ public void setData(String data) { setProperty(ORWS, data); } /** * 加入对象 * * @param obj * 对象 */ public void setObject(Object obj) { setProperty(OBJ, obj); } /** * 返回json格式 */ public String toJSONString() { JSONObject obj = new JSONObject(); obj.put("data", this.results); return obj.toString(); } public static void main(String aregs[]) { ResultUtil util = new ResultUtil(); System.out.println(util.toString()); }}
controller类方法:

/**	 * @return	 * 载入文件信息	 */	@RequestMapping("/file/queryFileInfo")	@ResponseBody	public Map
queryFileInfo() { ResultUtil result =new ResultUtil(); List
fileList =getFileInfo(); if(fileList !=null) { result.setRows(fileList); result.setSize(10); result.setMsg("查询成功!

"); }else { result.setSuccess(false); result.setMsg("载入数据失败!"); } return result.getResult(); }

jsp页面:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";request.setAttribute("home", path);%>首页

文件信息列表

权限文件 数量 每日新增 操作
jquery方法:-fileMgr.js

//文件列表$(document).ready(function() {	var page=2;	var pageSize=10;		var pageParam={};	pageParam.page=page;	pageParam.pageSize=pageSize;		$.post(home+"/file/queryFileInfo",pageParam,	function(result)	{		if(result && result.success)		{			var obj =result.rows;						for ( var i = 0; i < obj.length; i++) {				var res =obj[i];				var tr=""					+ res.bucketName					+ "   "					+ res.number					+ " "					+ res.dailyNew					+ "";					+ "改动" + "删除 ";					$(".table").append(tr);										}		}else		{			alert(result.msg);		}	},"json");});
这样页面的数据直接在jquery直接加入到表格中。看起来是有点高大上的感觉。

转载地址:http://lvgaa.baihongyu.com/

你可能感兴趣的文章
夜间模式的开启与关闭,父模板的制作
查看>>
EMMA 覆盖率工具
查看>>
WPF中获取系统本身自带的控件模板(XAML)
查看>>
Aircrack-ng官方文档翻译[中英对照]---Aireplay-ng
查看>>
cxImage控件使用
查看>>
js返回顶部
查看>>
手机测试用例-时钟测试用例
查看>>
Hamming校验码
查看>>
第六十一课、智能指针类模板
查看>>
LoadRunner 文本检查点使用
查看>>
12/4团队会议4
查看>>
[BZOJ1927]星际竞速(费用流)
查看>>
PowerDesigner添加表注释
查看>>
使用VMware安装Ubuntu虚拟机,创建后开启显示黑屏的解决方法
查看>>
Java数据结构与算法(11) - ch06递归(二分法查找)
查看>>
文件操作
查看>>
this的指向
查看>>
Object类及其常用方法简介
查看>>
怎样在Eclipse中使用debug模式调试程序
查看>>
对查询结果进行分页
查看>>