数据请求对象封装
2017-08-18 14:12
288 查看
后台中,经常需要有带分页的条件查询,需要将当前页,每页条数,以及其它条件传到Controller进行查询,这时我们可以写一个公共的类来处理数据请求。
通常在前台将所需要的数据放在对象数组中,然后将对象数组变成字符串传到Controller,然后Controller进行处理
数据请求对象封装类:
例,前台:
Controller:
通常在前台将所需要的数据放在对象数组中,然后将对象数组变成字符串传到Controller,然后Controller进行处理
数据请求对象封装类:
package com.***.cms.constants; import org.apache.commons.lang3.StringUtils; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; /** * jquery.datatable 数据请求对象封装 * 2017年2月6日 下午1:45:23 */ public class DataTableRequest { /** 需要处理的对象数组 */ private static JSONArray dataArray; private int iDisplayStart = 0; // 起始索引 private int iDisplayLength = 0; // 每页显示的行数 public DataTableRequest() { } /** * 初始化获取请求参数 * @param aoData */ public DataTableRequest(String aoData) { dataArray = JSONArray.parseArray(aoData); for (Object object : dataArray) { JSONObject obj = (JSONObject) object; String name = obj.getString("name"); if (StringUtils.equals(name,"iDisplayStart")) this.iDisplayStart = obj.getIntValue("value"); if (StringUtils.equals(name,"iDisplayLength")) this.iDisplayLength = obj.getIntValue("value"); } } /** * 根据参数名称获取对应的值 * @param searchName * @return */ public String getSearchValue(String searchName){ for (Object object : dataArray) { JSONObject obj = (JSONObject) object; String name = obj.getString("name"); if (StringUtils.equals(name,searchName)) return obj.getString("value"); } return null; } public int getiDisplayStart() { return iDisplayStart; } public void setiDisplayStart(int iDisplayStart) { this.iDisplayStart = iDisplayStart; } public int getiDisplayLength() { return iDisplayLength; } public void setiDisplayLength(int iDisplayLength) { this.iDisplayLength = iDisplayLength; } }
例,前台:
<script type="text/javascript"> $("input").click(function(){ var data = [ {"name":"address","value":"重庆"}, {"name":"age","value":"24"}, {"name":"name","value":"张三"} ] $.ajax({ url:"/merchants/testResult", data:{result:JSON.stringify(data)} }); }) </script>
Controller:
@RequestMapping("/testResult") public void testResult(String result){ DataTableRequest d = new DataTableRequest(result) ; String name = d.getSearchValue("name") ; if(StringUtils.isNotEmpty(name)){ } }
相关文章推荐
- Struts2第四篇【请求数据自动封装、Action得到域对象】
- 在dva中如何不通过yield发送封装的请求并且获取返回的promise对象中的数据
- Struts2第四篇【请求数据自动封装、Action得到域对象】
- Struts2(接受表单参数)请求数据自动封装和数据类型转换
- 利用JS面向对象+模块化封装集AJAX请求、基本数据校验、URL参数截取等功能于一身的通用工具模块
- 封装请求参数Page对象
- Android中应对封装好的数据库jar包请求Http数据的结果回调
- Struts2笔记之自定义封装请求参数的数据类型转换器
- 微信小程序教学第二章(含视频):小程序中级实战教程之预备篇 - 封装网络请求及 mock 数据
- Request作为域对象存取数据 Request作为域对象;请求转发和重定向都可以完成页面跳转
- 关于android数据请求的几种封装方法
- OkHttp网络请求数据的封装
- jquery validate 及追加html 前端封装JS对象 后台@ReqesutBody 对象即拿到数据
- javascript 面向对象全新理练之数据的封装
- jQuery封装解析数据(数组,json对象)
- 调用OKhttp封装类请求网络数据适配到Recyclerview上拉下拉刷新
- 【JAVA学习】java基本数据类型与字符串之间的转换(基本数据类型、对象封装类、自动装箱、自动拆箱)
- 封装数据请求
- Ajax发送FormData对象封装的表单数据