SpringMVC+hibernate4+Extjs4.2+mysql

  1. 后台处理数据库数据(读取数据)
    @RequestMapping("/getmanagers") @ResponseBody public Map getWorkOrders(String page,String limit,String start,String all){ int pageInt = Integer.parseInt(page); int limitInt = Integer.parseInt(limit); int startInt = Integer.parseInt(start); Map map = new HashMap(); List list = workOrdersService.getWorkOrders(); List listTemp ; //数据库中的结果条数小于分页限制,则直接返回结果 map.put("total",list.size()); if(list.size()<=limitInt){ map.put("workOrders", list); return map; } if(all!=null){ map.put("workOrders", list); return map; } //截取List if(pageInt*limitInt>=list.size()){ listTemp = list.subList(startInt, list.size()); }else{ listTemp = list.subList(startInt, pageInt*limitInt); } map.put("workOrders", listTemp); return map; }

  1. ExtMVC

中的model
Ext.define('tw.model.GlobalStatisticsModel',{
extend : 'Ext.data.Model',
fields: [
{name: 'id', type: 'int',sortType :'aesc'},
{name: 'failuretime',type: 'date'},
{name: 'failureaddress', type: 'string'},
{name: 'repairtime', type: 'string'},
{name: 'maintenanceman', type: 'string'},
{name: 'completion', type: 'string'},
{name: 'failurecontent', type: 'string'}
]
});
中的store
Ext.define('tw.store.GlobalStatisticsStore',{
extend:'Ext.data.Store',
model:'tw.model.GlobalStatisticsModel',
pageSize: 17,
proxy:{
type:'ajax',
url: 'gdgl/getmanagers',
reader: {
type: 'json',
root: 'workOrders'
},
writer:{
type: 'json'
}
},
autoLoad: true
});
然后是Ext的View
Ext.define('tw.view.gdgl.GlobalStatisticsView',{
extend : 'Ext.grid.Panel',
xtype : 'globalStatisticsView',
store:'GlobalStatisticsStore',
selType : 'checkboxmodel',
forceFit:false,
columns: [{
text: 'ID',
dataIndex: 'id',
width:50,
editor: {
readOnly:true
}
}, {
// text: '故障时间',
header:'故障时间',
dataIndex: 'failuretime',
width:180,
renderer : Ext.util.Format.dateRenderer('Y-m-d H:i:s'),
editor: {
allowBlank: false
}
}, {
text: '故障地点',
dataIndex: 'failureaddress',
width:200,
editor: {
allowBlank: false
}

suannai0314
鹳狸媛 楼主的这个问题解决了么?下边的答案能解决问题么?如果可以麻烦点击答案旁的√采纳哦~如果没有也可以将自己的答案贴上然后进行采纳的。
6 年多之前 回复
lr393993507
java_天照 {"total":2,"workOrders":[{"id":1,"failuretime":1387944000000,"failureaddress":"海口","repairtime":"2013-4-14","maintenanceman":"刘仁","completion":"完成","failurecontent":"红灯坏"},{"id":2,"failuretime":1321009800000,"failureaddress":"111","repairtime":"111","maintenanceman":"11","completion":"1","failurecontent":"111"}]}
6 年多之前 回复
lr393993507
java_天照 这个我的前台Extjs读取不到时间(Date类型的)这个数据,但可以读取到string数据
6 年多之前 回复

3个回答

这个我有答案了,java取出来的字符串是一个13位的时间戳,放到Extjs里的话必须要转换为时间才能显示,要不就会显示为13位的时间戳。Ext的view可以改为
Ext.define('tw.view.gdgl.GlobalStatisticsView',{
extend : 'Ext.grid.Panel',
xtype : 'globalStatisticsView',
store:'GlobalStatisticsStore',
selType : 'checkboxmodel',
forceFit:false,
columns: [{
text: 'ID',
dataIndex: 'id',
width:50,
editor: {
readOnly:true
}
}, {
// text: '故障时间',
header:'故障时间',
dataIndex: 'failuretime',
width:180,
renderer:function(value){
return new Date(parseInt(value)).toLocaleString();//自动转化为时间
}
}, {
text: '故障地点',
dataIndex: 'failureaddress',
width:200,
editor: {
allowBlank: false
}

数据的类型弄错了,在数据库中有datetime类型的,但在数据传输的过程中datetime类型会自动转换,所以你在extjs中你仍然用datetime类型接收就不对了

lr393993507
java_天照 我用的是date类型的数据,不是datetime类型
6 年多之前 回复

这个能解决你的问题:http://ssyangtian.iteye.com/blog/2100794

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐