
今天碰到个题目,带参数查询后在点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:
虚心接受。可我真的没找到原因。水平有限,别笑话俺啊!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)