「已注销」 2010-05-18 10:58
浏览 251
已采纳

EXT 获取数据问题

action 代码

String callback=request.getParameter("callback");
TestDAO tsDao=new TestDAO();
int id=1; //是数据库中记录的ID

List querylist=tsDao.query(id);
JsonConfig jConfig=new JsonConfig();

jConfig.registerJsonValueProcessor(java.util.Date.class,new DateJsonValueProcessor("yyyy-MM-dd"));
StringBuilder strbuilder=new StringBuilder();
if(callback!=null)
strbuilder.append(callback);//.append("({")

     strbuilder.append("({\"total\":").append(querylist.size()).append(",\"results\":"); 

JSONArray jsonArray=JSONArray.fromObject(querylist,jConfig);
strbuilder.append(jsonArray).append("})");

String jsonString=strbuilder.toString();
response.setCharacterEncoding("UTF-8");
response.setContentType("text/xml");//EXT为srciptTagproxy时 类型必须为text/xml
response.getWriter().write(jsonString);

ext代码

var s=new Ext.data.Record.create( [
{name: 'tid', mapping: 'tid'},
{name: 'tname', mapping: 'tname'},
{name: 'tpass', mapping: 'tpass'}
]);

var personnelStore = new Ext.data.Store({
    proxy: new Ext.data.ScriptTagProxy({ url : 'te.jsp'}),//ScriptTag
   reader: new Ext.data.JsonReader({
        root: 'results',
        totalProperty: 'total',
        id:'tid'
    },s),

remoteSort: false
});

personnelStore.load();   

alert(personnelStore.getAt(0)); 此句提示未定义

控制台的数据信息

stcCallback1001({"total":1,"results":[{"tid":1,"tname":"tom","tpass":"tompass"}]})

问题 personnelStore.load(); script error 报错
无法获取到json的数据,请大家看看我这代码有问题吗

  • 写回答

5条回答 默认 最新

  • fireinjava 2010-05-19 12:34
    关注
    var statusStore = new Ext.data.JsonStore({
                autoLoad:true,
                url : "getContractStatusExt.do",
                fields : [{
                            name : 'value'
                        }, {
                            name : 'display'
                        }],
                listeners:{
                    load:function(){
                        status.setValue(statusStore.getAt(1).get('value'));
                    }
                }
            });
    

    //store的加载,后台返回:[{"display":"请选择","value":""},{"display":"正常","value":"0"},{"display":"失效","value":"1"}]

    var status = new Ext.form.ComboBox({
                store : statusStore,
                emptyText : '请选择',
                fieldLabel : '状态',
    
                triggerAction : 'all',
                hiddenName : 'status',
                valueField : 'value',
                displayField : "display",
                readOnly : true,
                                width : 100
            });
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 python提取.csv文件中的链接会经常出现爬取失败
  • ¥15 数据结构中的数组地址问题
  • ¥15 LD衰减怎么根据纵坐标计算横坐标的值
  • ¥15 maya的mel里,怎样先选择模型A,然后利用mel脚本自动选择有相同名字的模型B呢。
  • ¥15 Python题,根本不会啊
  • ¥15 会会信号与系统和python的来
  • ¥15 关于#python#的问题
  • ¥20 oracle RAC 怎么配置啊,配置
  • ¥15 excel 日常使用中出现问题
  • ¥20 pdusession建立失败