extjs传值丢失问题

用ext做的表格,获取某一条记录的id传到后台,发现id值丢失了,但是在extjs前台是可以获得的,找出了原因,我在前台用uId来接收id参数,后台获取uIdnull,但是我前后台都把uId改成id之后,竟然获取到了,真是神奇!现在还搞不清楚是什么原因,于是就有了以下的情况:

1.丢失值

1.1 ext代码 export.js

Ext.onReady(function() {
Ext.QuickTips.init();// 浮动信息提示
 
// 定义数据源为远程代理和JSON数据格式
var ds = new Ext.data.Store({
autoLoad : true,
proxy : new Ext.data.HttpProxy({
url : 'userAction_findAllUsers'
}),
// jsonreader的字段名称要与glut.bean中的类属性名一致,不要去匹配数据库字段
reader : new Ext.data.JsonReader({
totalProperty : 'totalProperty',
root : 'root'
}, [ {
name : 'id'
}])
});
// 加载数据
//ds.load();
 
// 定义复选框
var sm = new Ext.grid.CheckboxSelectionModel();
 
// 定义列模型
var cm = new Ext.grid.ColumnModel(
[
new Ext.grid.RowNumberer(),// 添加自动行号
sm,// 添加复选框
{
header : 'id',
width : 40,
sortable : true,
dataIndex : 'id'
},
{
header : 'options',
width : 40,
dataIndex : 'options',
renderer : function options(value, cellmeta) {
var str = "<INPUT type='button' value='export4Word' onClick='myClick()'>";
return str;
}
} ]);
 
// 定义一个表格面板
var grid = new Ext.grid.EditorGridPanel(
{
id : 'user-grid',// 设置标识ID,方便以后引用!
title : 'export_word',// 标题
renderTo : Ext.getBody(),// 显示表格的地方
sm : sm,// 复选框
cm : cm,// 列模型
ds : ds,// 数据源
stripeRows : true,// 加上行条纹
loadMask : true,// 加载数据时遮蔽表格
border : true,// 加上边框
frame : true,// 显示天蓝色圆角框
autoHeight : true,// 自动设置高度,这个配置很重要
width : '100%',
// 响应导出案表按钮的事件
listeners : {
cellClick : function(grid, rowIndex, columnIndex, e) {
// 按钮的位置位于第17列,如果列数有调整需要把这个数值也调整,或者把按钮长期永远放在最后,用length-1来替代12.
var colCount = grid.colModel.config.length;
if (columnIndex == colCount - 1) {
var uIds = grid.getStore().getAt(rowIndex)
.get('id');
 alert(uIds);
Ext.Ajax.request({
url : 'userAction_exportData',
method : 'POST',
params : {uId : uIds},
success : function(response, options) {	 window.open(response.responseText);
},
failure : function(response, options) {
Ext.MessageBox.alert('失败',
'请求超时或网络故障,错误编号:'
+ response.status);
}
});
}
}
},
// UI视图配置
viewConfig : {
forceFit : true
// 强制适应分布宽度
},
}),
});
 
})


 

 

1.2后台代码 UserAction.java

@Entity
@Controller("userAction")
@Scope("prototype")
public class UserAction {
private String uId;
public String exportData() throws Exception {
System.out.println("id:" + uId);
return null;
}
 
public String getuId() {
return uId;
}
 
public void setuId(String uId) {
this.uId = uId;
}
}



前台alert(uIds)--->6

后台System.out.println(“id:”+uId)---->id:null

 

然后是把uId改成id的情况:

2.可以获取到值

2.1前台ext export.js

(把params{uId:uIds}改成params:{id:uIds}

2.2后台Java UserAction.java

(uId改成id,记得settergetter也要改哦)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值