웹 개발

jqgrid + spring

노루아부지 2019. 8. 23. 21:54

1. javascript

$("#list").jqGrid({
	url: g_url,
	// data: "table=users",
	postData: {table: 'users'},          /** 중요 **/
	//  cache: false,
	//  global: false,   /** trigger global Ajax event handlers for this request **/
	//  async: false,
	mtype:"POST",
	datatype: 'json',
	//  contentType: "application/x-www-form-urlencoded",
	colNames: ['ID', '이름', '권한', '이메일'],
	colModel: [
             {name:'id', index:'id', width:55},
             {name:'name', index:'name', width:90},
             {name:'auth', index:'auth', width:90},
             {name:'email', index:'email', width:90}
             ],
	rowNum: 10,
	rowList: [10,20,30],
	pager: 'pager',
	sortname: 'id',
	viewrecords: true
	//  sortorder: 'desc',
	//  caption: 'json Excample'
}).jqGrid('navGrid', '#pager', {edit: false, add: false, del: false});

 

2. response class ( VO )

public class UserResponse {
	private List<User> rows;
	private Integer total;
	private Integer records;
	private Integer page;

	public List<User> getRows() {
		return rows;
	}

	public void setRows(List<User> rows) {
		this.rows = rows;
	}

	public Integer getTotal() {
		return total;
	}

	public void setTotal(Integer total) {
		this.total = total;
	}

	public Integer getRecords() {
		return records;
	}

	public void setRecords(Integer records) {
		this.records = records;
	}

	public Integer getPage() {
		return page;
	}

	public void setPage(Integer page) {
		this.page = page;
	}
}

 

3. controller

@RequestMapping(value="/list.do", method=RequestMethod.POST, produces={"application/xml", "application/json"})
public @ResponseBody UserResponse list(@RequestParam Map<String, String> table, @RequestParam int page, @RequestParam int rows, @RequestParam String sidx, @RequestParam String sord) throws Exception {
	UtilMap utilMap = new UtilMap(table);
	UtilMap listParam = setListParam(utilMap, page, rows);
	UserResponse response = new UserResponse();

	response.setRows(userService.getUserList(listParam));
	response.setTotal(listParam.getInt("total_pages"));
	response.setRecords(listParam.getInt("count"));
	response.setPage(listParam.getInt("page"));

	return response;
}
728x90
loading