数据库中有个时间类型,查询后赋值:
map.put(rs.getMetaData().getColumnName(i), rs.getDate(i));
报错:
net.sf.json.JSONException: java.lang.reflect.InvocationTargetException
到网上搜了下改为:
map.put(rs.getMetaData().getColumnName(i), new java.util.Date(rs.getDate(i).getTime()));
不报错了,但是Ext中显示不了了
打印出这个字段的值是:
"TIMEFLAG":{"date":11,"day":1,"hours":0,"minutes":0,"month":9,"seconds":0,"time":1286726400000,"timezoneOffset":-480,"year":110}
以前在tomcat中是可以正常显示的,也没有这个Date问题,现在换到Weblogic中,出现错误,现在虽然不报错了,但也显示不了了,构造的json数据也是对的,求解.

解决方案 »

  1.   


    /**
     * 生成列模型
     */
    var cm = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), {
    header : '用户帐号',
    dataIndex : 'userid',
    sortable : true
    }, {
    header : '用户名称',
    dataIndex : 'userName'
    } , {
    header : '所属地区',
    dataIndex : 'areaName'
    } , {
    header : '角色名称',
    dataIndex : 'rolename'
    } , {
    header : '单位',
    dataIndex : 'org'
    } , {
    header : '帐号状态',
    dataIndex : 'isdel',
    width:75,
    renderer:renderIsdel
    // sortable : true
    } , {
    header : '注册日期',
    dataIndex : 'TimeFlag',
    type : 'date',
    renderer : Ext.util.Format.dateRenderer('Y-m-d')
    // sortable : true
    } , {
    header : '描述',
    dataIndex : 're'
    }]);/**
     * 声明数据适配器,将数据源与列模型绑定
     */
    var store = new Ext.data.Store({
    proxy : new Ext.data.HttpProxy({
    url : '/userManage.do?method=getUserInfoJson'
    }),
    reader : new Ext.data.JsonReader({
    totalProperty : 'totalProperty',
    root : 'root'
    }, [{
    name : 'userName',
    mapping : 'userName'
    }, {
    name : 'userid',
    mapping : 'userid'
    }, {
    name : 're',
    mapping : 're'
    }, {
    name : 'areaCode',
    mapping : 'areaCode'
    }, {
    name : 'areaName',
    mapping : 'areaName'
    }, {
    name : 'roleid',
    mapping : 'roleid'
    }, {
    name : 'rolename',
    mapping : 'rolename'
    }, {
    name : 'org',
    mapping : 'org'
    }, {
    name : 'isdel',
    mapping : 'isdel'
    }, {
    name : 'TimeFlag',
    mapping : 'TimeFlag.time',
    type:'date',
    dateFormat : 'time'
    }])
    });