在用Ext+pring+hibernate+dwr时遇Error: ReferenceError, response is not defined错误
发现有两个原因:
1.没有把后台传来的对象进行<convert converter="bean" match="com.dwr.PkSwsMstr"/>
2.
var ds = new Ext.data.Store({
proxy: new Ext.data.DWRProxy(swsMstrService.findpaged, true),
reader: new Ext.data.ListRangeReader({
totalProperty: 'totalSize',
id: 'id'
}, recordType),
remoteSort: false
});
后台没有给这里的id传入正确的值
public class PkSwsMstr {
private int id;
private SwsMstr swsMstr;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public PkSwsMstr(int id, SwsMstr swsMstr) {
super();
this.id = id;
this.swsMstr = swsMstr;
}
public SwsMstr getSwsMstr() {
return swsMstr;
}
public void setSwsMstr(SwsMstr swsMstr) {
this.swsMstr = swsMstr;
}
}
完整例子
function initGrid(){
var recordType = Ext.data.Record.create([
{name: "id", type: "int"},
{name: "swsNbr",mapping:"swsMstr.swsNbr", type: "string"},
{name: "custcode", mapping:"swsMstr.custcode", type: "string"},
{name: "stampusername", mapping:"swsMstr.stampusername", type: "string"},
{name: "stockcode", mapping:"swsMstr.stockcode", type: "string"},
{name: "swsRefNo", mapping:"swsMstr.swsRefNo", type: "string"},
{name: "swsSinNbr", mapping:"swsMstr.swsSinNbr", type: "string"},
{name: "swsRmks", mapping:"swsMstr.swsRmks", type: "string"},
{name: "swsStatus", mapping:"swsMstr.swsStatus", type: "string"}
]);
// create the Data Store
var ds = new Ext.data.Store({
proxy: new Ext.data.DWRProxy(swsMstrService.findpaged, true),
reader: new Ext.data.ListRangeReader({
totalProperty: 'totalSize',
id: 'id'
}, recordType),
remoteSort: false
});
var cm = new Ext.grid.ColumnModel(
[
{
header: '入倉單號',
width: 100,
sortable: true,
dataIndex: 'swsNbr'
},
{
header: '客戶代碼',
width: 60,
sortable: true,
dataIndex: 'custcode'
},
]
);
var grid = new Ext.grid.Grid('mygrid', {
ds: ds,
cm: cm,
selModel: new Ext.grid.RowSelectionModel({singleSelect:true}),
enableColLock:false,
autoExpandColumn:'colOperate',
loadMask: false
});
obj=grid;
// make the grid resizable, do before render for better performance
var rz = new Ext.Resizable('mygrid', {
wrap:true,
minHeight:100,
pinned:true,
handles: 's'
});
rz.on('resize', grid.autoSize, grid);
// render it
grid.render();
//包括了前一页,后一页,第一页,最后一页,刷新,以及提示信息
var gridFoot = grid.getView().getFooterPanel(true);
// add a paging toolbar to the grid's footer
var paging = new Ext.PagingToolbar(gridFoot, ds, {
pageSize: 10,
displayInfo: true,
displayMsg: 'display {0} - {1} of {2}',
emptyMsg: "no record"
});
ds.load({params:{start:0,limit:10}});
)
Ext.onReady(init);
还有类ListRange
public class ListRange implements Serializable
{
private Object[] data;
private int totalSize;
public Object[] getData() { return data; }
public void setData(Object[] data) { this.data = data; }
public int getTotalSize() { return totalSize; }
public void setTotalSize(int totalSize) { this.totalSize = totalSize;}
}
最后service中的方法
public ListRange findpaged(Map condition) {
int start = Integer.parseInt(condition.get("start").toString());
int limit = Integer.parseInt(condition.get("limit").toString());
int pageNo = start/limit+1;
Page page = swsMstrDAO.findPage(pageNo, limit);
ListRange listRange= new ListRange();
List list = (List)page.getResult();
Collection alist=new ArrayList();
//System.out.println("list's length==="+list.size());
for(int i=0;i<list.size();i++)
{
SwsMstr sm = (SwsMstr)list.get(i);
//System.out.println("sm.getCustcode==="+sm.getCustcode());
alist.add(new PkSwsMstr(i,sm));
}
//System.out.println("alist's length==="+alist.size());
listRange.setData(alist.toArray());
listRange.setTotalSize((int)page.getTotalCount());
//listRange.setTotalSize((int)page.getTotalCount());
return listRange;
}
分享到:
相关推荐
ReferenceError: AMap is not defined AMap未定义
可能会遇到`execjs._exceptions.ProgramError`,比如`ReferenceError: document is not defined`或`ReferenceError: window is not defined`这样的错误。 这两个错误通常是因为`execjs`不提供完整的浏览器环境,它...
1. 之前稳定版开发工具用的好好的,突然某天真机调试一直报错: ReferenceError: define is not defined 2. 找解决办法后发现,更新至开发版最新版可以解决,如附件,下载安装后,即可解决该问题。
但是在项目经过本地测试没有任何问题,打包上线后却会报错 webpackJsonp is not defined。这是因为公共文件必须在自己引用的js文件之前引用。 可以手动改文件引用,但是推荐以下解决办法: 找到build→webpack.prod...
Uncaught ReferenceError: ReconnectingWebSocket is not defined; 说明缺少包资源,需引入reconnecting-websocket.js和reconnecting-websocket.minjs 创建WebSocket对象使用ReconnectingWebSocket 如下: var ws =...
### Environment variable ORACLE_UNQNAME not defined 错误解决 在Oracle数据库管理及维护过程中,可能会遇到“Environment variable ORACLE_UNQNAME not defined”这样的错误提示。本文将围绕这一问题展开详细...
如果你遇到了"luckysheet is not defined"的错误,这通常意味着在你的Vue项目中,Luckysheet未正确安装或引入。下面我们将详细探讨这个问题的解决方案以及如何在Vue项目中有效地使用Luckysheet。 首先,让我们了解...
**前端项目-lamejs** **概述** `lamejs` 是一个开源的JavaScript库,专为前端开发者设计,用于在浏览器环境中实现MP3编码。这个项目的核心目标是提供一个纯JavaScript解决方案,允许用户在不依赖服务器的情况下,...
ReferenceError: document is not defined 本次package.json使用版本信息: { vue-loader: ^15.4.2, mini-css-extract-plugin: ^0.4.3, webpack: ^4.20.2, webpack-cli: ^3.1.2 ... } 相关代码 问题原因: ...
Uncaught ReferenceError: jQuery is not defined 具体报错后样式如下: 具体解决方竟然是修改JQuery的位置,必须在其他所有js的前面!! 错误的代码: 正确的代码: 只能说是自己没有基础了 正确后的样式 ...
Uncaught ReferenceError: layer is not defined 解决方法,查看网上说名,是非独立版导致直接使用layer导致,只需要在使用时加一说明,申明一下使用。 layui.use(['element','layer'], function(){ var element =...
...Videojs作为一个强大的网页播放器库,旨在解决这些问题,使得开发者可以轻松地在不同浏览器上实现统一的视频播放体验。本文将详细解析Videojs的核心功能和使用方法,帮助你实现高效的网页视频播放。...
[Vue warn]: Error in v-on handler: “ReferenceError: Toast is not defined” 解决方法: handleClick(){ this.$toast('点击提示') } 补充知识:vue+vant移动端遇到的那些问题 1、项目引用了lib-flexible 跟px...
标题中的问题“Target runtime Apache Tomcat 6.0 is not defined”是Eclipse IDE中一个常见的错误提示,意味着用户在尝试运行或部署基于Apache Tomcat 6.0的应用时,Eclipse无法找到对应的运行时环境。这个错误通常...
一看很明显是没有引用脚本库,但是脚本库确认引用了。 后面,把[removed][removed]中的/statics/js/jquery-1.4.2.min.js改为statics/js/jquery-1.4.2.min.js,居然就可以了。 我在IIS里也启用了绝对路径,但是...
彻底解决 __vd_version_info__ is not defined 等出错问题,完美反编译出微信小程序, 已测试。直接下载后按照 qwerty472123/wxappUnpacker 方式使用。原qwerty472123/wxappUnpacker的版本已过时。
在进行Web开发时,我们经常会遇到各种各样的错误提示,其中“jQuery is not defined”是一个非常常见的错误。它通常发生在我们尝试在JavaScript代码中使用jQuery库,但浏览器找不到该库的时候。错误的原因和解决方案...
Abrand soft MYM Homa Font for persian text.