ExtJS 的 store load的传参的两种方法以及注意点
来源:互联网 发布:电子秤数据采集工具 编辑:程序博客网 时间:2024/05/17 05:55
ExtJS的store在load的时候,我们有时候会传递参数,比如在前台进行查询操作时,就需要根据前台所输入的查询参数,传递到后台进行查询操作后,再将筛选出来的数据显示到前台,那么store在load的过程中是怎么传递参数的呢,这里通常有两种方法。
当查询form如下时
一:直接在url输入参数
var studentName = Ext.getCmp('studentName').getValue();
var studentNum = Ext.getCmp('studentNum').getValue();
var url = 'studentInfo_selectAcademyStudentInfo.action?'+ 'studentInfo.name='+studentName+
'studentInfo.studentnum=' +studentNum
studentInfoStore.proxy = new Ext.data.HttpProxy({
url : url
});
studentInfoStore.load({
params : {
start : 0,
limit : 10
}
});
这里直接是在url上拼接了要传递的参数,这种方法的好处是,url已经确定,无论怎么分页查询,每次查询都自动传递这些查询参数,但是有几个缺点:1.以url方法传递,会以get方式传值,这样就算是公开了参数,对于需要保密的数据就无法起到隐藏的效果;2.这种方法传值,如果传递的是中文,传到后台很有可能被翻译成乱码,所以如果用该方法传递中文参数,需要进行前后台转码操作。
二:在load的时候 以参数的形式传值
var studentName = Ext.getCmp('studentName').getValue();
var studentNum = Ext.getCmp('studentNum').getValue();
var url = 'studentInfo_selectAcademyStudentInfo.action'
studentInfoStore.proxy = new Ext.data.HttpProxy({
url : url
});
studentInfoStore.load({
params : {
start : 0,
limit : 10,'
studentInfo.name':studentName,'studentInfo.studentnum':studentNum}
});
这里用的是load的传参方法,这种方法的好处是不用担心乱码问题,也不用担心泄露问题,因为这是用post方法传值的,但是有个缺点就是只能传递一次,一旦其他地方这个store在load的时候就无法再传递这些参数了,对于查询翻页就是个问题,因为只能查询出一页,当大于一页时,点击grid中的下一页后,因为无法再次传递这些参数,所以导致查询出错。 综合两种方法,我们最好选用第二种方法,如果是查询方法,遇到翻页的情况,我们再可以加上下面的方法
studentInfoStore.on('beforeload', function (store, options) {
store.baseParams = {
'studentInfo.Name' : studentName,
'studentInfo.studentnum' : studentNum };
});
这个方法的意思是在这个store每次load之前都加载这些原始参数,也就是我们把这些查询条件加入到了store的原始参数中,就跟extjs默认的原始参数start和limit一样。这样每次查询翻页都能加载这些参数。
- ExtJS 的 store load的传参的两种方法以及注意点
- ExtJS 的 store load的传参的两种方法以及注意点
- ExtJs store在load前配置传递参数的方法
- extjs store load 额外参数的应用
- Extjs store的load事件监听
- EXTJS中的store.load与store.reload的区别
- extjs的Ext.define()函数的用法以及注意点。
- ExtJs Store Load 返回数据库传出的Message
- JSP页面跳转的几种方法以及注意点
- ExtJS中创建Store的方法
- ExtJs的Store类方法汇总
- ExtJS Store的find方法精确查找
- Extjs的Store详解
- EXTJS的Store加载
- Extjs ScriptTagProxy 的使用注意点
- 关于java response的两种页面输出方式,以及HttpUrlconnection 代理使用注意点
- EXTJS TREE的应用以及data.store的作用
- extjs MVC中store以及各层的理解
- 简单问题6——指针
- fdisk -l 没有显示磁盘分区信息
- 在JavaScript中也玩变量类型强行转换
- Android kernel开发步骤
- 装箱和拆箱的例子,value type的接口
- ExtJS 的 store load的传参的两种方法以及注意点
- 自旋锁
- Map 合并的几种方式
- 中央处理器
- NULL
- 关于Git克隆代码时出现ssh: rapid: no address associated with name的问题
- java_web学习第八天(EL表达式和JSTL标签库)
- 返回顶部的代码
- C++野指针实例分析