tjzero_sapce 2011-05-09 11:20
浏览 309
已采纳

怎么把servlet传过来的List数据显示到gridpanel中?

[code="java"]DictInfoPanel = function(node, grid){
//获得右侧tab对象
Ext.Ajax.request({
waitMsg : '读取数据。。。',
url : "/datadict/DataDictServlet?parameter="+node.id,
method : "GET",
callback : function(args, success, response) {
var json = response.responseText;
var json = eval("("+json+")");
grid.getForm().findField('dataDictName').setValue(json.name);
grid.getForm().findField('dataDictCode').setValue(json.code);
if(success){
var panel = Ext.getCmp("dataDictCenterPanel");
var tab = panel.findById(node.id);
if(!tab){
tab = panel.add({
id: node.id,
xtype:"panel",
title:node.text,
closable:true,
layout:"fit",
items:[grid]
});
}
panel.setActiveTab(tab);
}
},
scope: this
});

[/code]是需要在这里加上一个url么? 从servlet传递过来的数据就是List 的,到了ext不用转换能直接显示出来么?
[code="java"]var store = new Ext.data.Store({
proxy: new Ext.ux.data.PagingMemoryProxy(underTheData),
remoteSort:true,
reader: new Ext.data.ArrayReader({ fields: [
{name: 'dataName', type: 'string'},
{name: 'dataCode', type: 'string'}
] })
});

[/code]这是servlet中处理
[code="java"]String paraId = request.getParameter("parameter");
retStr = dataDictService.getBeanInfo(paraId);
underDataString = dataDictService.getListById(paraId);
[/code]retStr = dataDictService.getBeanInfo(paraId); retStr 是从bean转换过来的,用于显示在Ext.form.TextField的,underDataString = dataDictService.getListById(paraId);是从list转换过来的,格式是这种类型的[code="java"][{"code":"datadict2","id":4,"name":"数据字典2","parentId":4},{"code":"professiontype_03","id":9,"name":"外语","parentId":4},{"code":"terminateReason_01","id":10,"name":"不可抗力","parentId":4}][/code]我这里的retStr 最初是 out.print(retStr);的,underDataString 怎么办呢? 再加个
out.print(underDataString ); ?
[code="java"]else {
String paraId = request.getParameter("parameter");
retStr = dataDictService.getBeanInfo(paraId);
underDataString = dataDictService.getListById(paraId);
System.out.println("0 - 0 "+underDataString);
}
}
out.print(retStr);
out.close();
[/code]

  • 写回答

2条回答 默认 最新

  • heihei0923 2011-05-09 12:39
    关注

    http://json-lib.sourceforge.net/
    List list = ......
    JSONArray jsonArray = new JSONArray();
    if(list!=null)
    for(int i=0;i<list.size();i++){
    Map u = (Map)list.get(i);
    jsonArray.put(u);
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler