extjs4中的分页按钮怎么去传递参数

extjs4中的分页按钮怎么去传递参数,第1张

Extjs 版本ext-4.0.2a

今天碰到个题目,带参数查询后在点bbar上的分页,居然参数没有带到后台。

记得以前做过Extjs3类似功能,代码如下

store.on(""beforeload"", function(){

Ext.apply(this.baseParams, {

name: _name,

phone_num:_phone

})

})

pagingtoolbar的分页,在store.load({params:{type:type_combo.getValue()}})带参数查询,默认只能查一页。分页到下一页时,是不带参数的。

解决办法是,在store被load之前给页参数赋值就可以了。

在Ext3中应用的办法是:

store.on(""beforeload"",function(){

store.baseParams = {type:type_combo.getValue()}

})

上方的办法在Ext4中已经不灵了,应当改成:

store.on("beforeload",function(){

Ext.apply(store.proxy.extraParams, {type:type_combo.getValue()})

})

分析了参数结构后发现,传的采数是按这个格式传输的:start=0&limit=24,但是在调用request.getParameter("start")这个方法时不能解析start参数的值,因此想在start参数的前头再增加一个符号:“&”,这样可行吗?怎么修改?

Object_Store.load({params: {start: 0,

limit: 24}})看来我写得不好,大家没看懂。

解释一下,Ext.data.Store自动传递给servelet的参数格式是

start=0&limit=24,这个样式的,但是Domino的Servlet管理器只能解析参数名称

所以我就想修改Ext.data.Store分页传递参数部分来实现。

在Servlet里就这两条语句

String strStart = request.getParameter("start")

String strlimit= request.getParameter("limit")

回atian25 :

这个方法倒是可以试一下。

baseParams,我试过了,baseParams的参数都是加到start=0&limit=24的后面,比如

baseParams = {test:'1'}

则服务器端接收到得就是

start=0&limit=24&test=1

没办法只好自己解析参数了。

实现方法如下:

//解析Ext grid 分页控件传过来的参数

InputStreamReader isr = new InputStreamReader(request.getInputStream())

BufferedReader bfr = new BufferedReader(isr)

strIn = bfr.readLine()

if (strIn != null){

strIn = "&" + strIn

strStart = util.getParameter("start", strIn)

strlimit = util.getParameter("limit", strIn)}问题补充:回yourgame:

虚心接受。可我真的没找到原因。水平有限,别笑话俺啊!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/bake/11501834.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存