Extjs的数据读取器store和后台返回类型简单解析
工作中用到了Extjs,从后台获取数据的时候,用到了extjs自己的Ext.data.store方法,然后封装了ExtGridReturn方法,
目的:前台用到Ext.data.store读取从后台传过来的数据,后台封装成ExtGridReturn类型
前台如下:
this.store = new Ext.data.Store({
remoteSort:true,
baseParams:{
start:0,
limit:this.pageSize
},
proxy:new Ext.data.HttpProxy({
method:'POST',
url:this.getAllUrl
}),
reader:new Ext.data.JsonReader({
totalProperty:'results',
root:'rows'
},['rulesId','rulesTitle','rulesContent','rulesType','updateUser',{
name:'updateTime',
type:'date',
dateFormat:'time'
},'rulesAuthor','isTop',{
name:'createTime',
type:'date',
dateFormat:'time'
}])
});
当前的数据读取器是带有root和totalProperty的,所以,后台封装的类型如下:
package cn.edu.hbcf.common.vo;
import java.util.List;
/**
* Ext Grid返回对象
*
* @author LiPenghui
*
*/
public class ExtGridReturn {
/**
* 记录总条数
*/
private int results;
private int otherCount;
/**
* 所有数据
*/
private List<?> rows;
public ExtGridReturn() {
}
public ExtGridReturn(int results, List<?> rows) {
this.results = results;
this.rows = rows;
}
public int getResults() {
return results;
}
public void setResults(int results) {
this.results = results;
}
public List<?> getRows() {
return rows;
}
public void setRows(List<?> rows) {
this.rows = rows;
}
public int getOtherCount() {
return otherCount;
}
public void setOtherCount(int otherCount) {
this.otherCount = otherCount;
}
}
Controller中的方法就可以这样写啦:如下:
@RequestMapping(value="/selectBaseRules",method=RequestMethod.POST)
@ResponseBody
public Object selectBaseRules(ExtPager pager,int rulesType){
Criteria criteria = new Criteria();
if(pager.getStart() !=null &&pager.getLimit() !=null){
criteria.setStart(pager.getStart());
criteria.setLimit(pager.getLimit());
criteria.setOracleStart(pager.getStart());
criteria.setOracleEnd(pager.getStart() + pager.getLimit());
}
try {
criteria.put("rulesType", rulesType);
List<BaseRules> list = baseRulesService.selectBaseRules(criteria);
int total= baseRulesService.getTotalCount();
return new ExtGridReturn(total, list);
} catch (Exception e) {
e.printStackTrace();
return new ExceptionReturn(e);
}
},
mybatis中的xml配置文件如下:
<select id="selectBaseRules" resultMap="BaseRulesMap" parameterType="Criteria">
<include refid="common.Oracle_Pagination_Head" />
select t.rules_id rulesId,
t.rules_title rulesTitle,
t.rules_content rulesContent,
t.rules_type rulesType,
t.update_time updateTime,
t.rules_author rulesAuthor,
t.is_top isTop,
t.create_time createTime,
t.UPDATE_USER updateUser,
s.account account,
s.real_name realName,
s.user_id userId
from SMS_BASE_RULES t
left join spauth.base_users s
on s.user_id = t.update_user
<where>
t.rules_type=#{condition.rulesType,jdbcType=INTEGER}
</where>
<include refid="common.Oracle_Pagination_Tail" />
</select>
很简单的封装了Extjs读取的类型。
转载于:https://www.cnblogs.com/zrui-xyu/p/4626978.html
Extjs的数据读取器store和后台返回类型简单解析相关推荐
- OleDbDataReader数据读取器
如果只想读取数据(而不更新数据),则不必将它存储在数据集内.相反,可以直接从数据库读出数据并读入应用程序 这时可以使用数据读取器来操作,可以使代码简单化. 如果程序需要通过查询结果执行连续的只读传递, ...
- 使用 PyTorch 数据读取,JAX 框架来训练一个简单的神经网络
使用 PyTorch 数据读取,JAX 框架来训练一个简单的神经网络 本文例程部分主要参考官方文档. JAX简介 JAX 的前身是 Autograd ,也就是说 JAX 是 Autograd 升级版本 ...
- TensorFlow-谷歌深度学习库 数据读取器
先介绍一下TensorFlow自带的数据格式: TensorFlow自带一种数据格式叫做tfrecords. 你可以把你的输入转成专属与TensorFlow的tfrecords格式并保存在本地. -关 ...
- 从存储区提供程序的数据读取器中进行读取时出错_三菱伺服控制程序写法破析...
1.原点回归程序示例: M1250原点回归启动按键 Y50 定位启动 (伺服参数) Y44 轴停止 (伺服参数) Y40 PLC准备完成 (伺服参数) M1081 电机手动状态 M6401 ...
- 数据读取器与指定的“WNWModel.WNW_Pipe”不兼容。类型“Label”的成员在同名的数据读取器中没有对应的列
最近在做数据连接的时候,用sql语句查询数据库报错. 本来sql语句是这么写的: select ElementId from WNW_Pipe order by ElementId desc 结果就报 ...
- python读取大智慧数据_大智慧数据读取器day.dat
var dzhpath = "D:\dzh2\data\"f = io.open(dzhpath ++ "sh\day.dat","rb") ...
- python读取大智慧数据_大智慧数据读取接口 大智慧股票本地数据读取接口
大智慧数据读取接口 大智慧股票本地数据读取接口 时间:2020-7-28 1:42:29 点击: 核心提示:所属分类:C资源描述:组件方法和属性说明:(1)方法GetData语法:public str ...
- 德国海曼HTPA 32x32d热成像传感器代替MLX90640之传感器数据读取和计算
传感器数据读取和计算 之前的文章我们简单介绍了热成像传感器德国海曼的HTPA 32x32d的EEPROM数据读取和解析,本文主要进一步介绍传感器数据读取,最终通过五大步计算和校准得到我们想要的32x3 ...
- 使用 Elasticsearch 时间点读取器获得随时间推移而保持一致的数据视图
总结一下:如果可行,我们推荐您使用 Elasticsearch 的全新时间点功能.对于深度分页,我们不再推荐使用滚动 API(虽然它仍然有效). 大多数数据都不断变化.在 Elasticsearch ...
最新文章
- python是一种跨平台开源免费的高级动态编程语言吗_第1章 管中窥豹:Python概述免费阅读_Python程序设计开发宝典免费全文_百度阅读...
- 怎么在linux的cmd中运行c项目,如何在cmd窗口编译运行c语言程序?
- 在日志中搜索时间间隔
- webpack4.0各个击破(1)—— html部分
- putty的窗口关闭相关的可能需要注意的细节
- 第六:Pytest中的setup/teardown
- 12-17 学习记录
- VS2015中搭建lua环境
- python模块之scipy的层次聚类简单测试与使用
- SQL群集多实例卸载、安装
- 约束规划问题与凸二次规划
- 基于F28335指纹识别系统
- 模拟游戏在设计上是如何处理对仿真性的追求的?
- 原型图设计软件哪个好用?6款好用软件推荐
- Linux中的vim最小集、指令集及其配置
- 多线程练习:模拟多人爬山
- Linux操作提示:“Cant open file for writing”或“operation not permitted”的解决办法
- Android自定义键盘(KeyboardView)
- CSS 多种布局方式
- 设计模式之命令模式(C语言)
热门文章
- 怎样往mysql里添加数据_怎么往mysql表里添加数据
- 螃蟹保存方法保存时间_蜂巢蜜应该怎么保存,蜂巢蜜怎么保存的时间更长
- c++中的队列_C ++中的队列
- Java 12字符串方法
- easymock_EasyMock TestNG示例
- java数组_Java数组
- python3 抓包 解包_Python结构包,解包
- fadein和fadeto_jQuery fadeIn,fadeOut,fadeTo
- Android通知频道,通知点
- 熊猫merge()–合并两个DataFrame对象