gpt4 book ai didi

java - 如何在JAVA中为Ext.data.JsonStore创建JSONObject?

转载 作者:行者123 更新时间:2023-12-01 15:21:31 25 4
gpt4 key购买 nike

这是我的 ExtJS 代码,用于在网格中显示我的记录。

   var remoteProxy = new Ext.data.ScriptTagProxy({
url : 'hastanebilgilerinigetir'
});

var recordFields = [
{ name : 'hid', mapping : 'hid'},
{ name : 'isim', mapping : 'isim'},
{ name : 'adres', mapping : 'adres'},
{ name : 'telefon', mapping : 'telefon'},
{ name : 'bashekimid', mapping : 'bashekimid' }
];

var remoteJsonStore = new Ext.data.JsonStore({
proxy : remoteProxy,
storeId : 'ourRemoteStore',
root : 'records',
autoLoad : false,
//totalProperty : 'totalCount',
remoteSort : true,
fields : recordFields,
idProperty : 'hid'
});

var textFieldEditor = new Ext.form.TextField();

var numberFieldEditor = {
xtype : 'numberfield',
minLength : 5,
maxLength : 5
};

var columnModel = [
{
header : 'Hastane Adı',
dataIndex : 'isim',
sortable : true,
editor : textFieldEditor
},
{
header : 'Telefon',
dataIndex : 'telefon',
sortable : true,
editor : textFieldEditor
},
{
header : 'Adres',
dataIndex : 'adres',
sortable : true,
editor : textFieldEditor
},
{
header : 'Baş Hekim ID',
dataIndex : 'bashekimid',
sortable : true,
editor : numberFieldEditor
},
{
header : 'Hastane ID',
dataIndex : 'hid',
sortable : true,
editor : numberFieldEditor
}
];
var grid = {
xtype : 'editorgrid',
columns : columnModel,
id : 'myEditorGrid',
store : remoteJsonStore,
loadMask : true,
bbar : pagingToolbar,
stripeRows : true,
viewConfig : {
forceFit : true
},
listeners : {
cellcontextmenu : doCellCtxMenu,
destroy : function(thisGrid) {
if (thisGrid.rowCtxMenu) {
thisGrid.rowCtxMenu.destroy();
}
}
}
};

var hastanegridi = new Ext.Panel({
title: 'Hastaneler',
height : 700,
width : 950,
border : false,
layout : 'fit',
items : grid
});


remoteJsonStore.load({
params : {
start : 0,
limit : 50
}
});

我有以下java代码来创建JSONObject

    @Override
public JSONObject listHastanesAsJson() {
List<Hastane> lst = hastaneDao.listHastane();

JSONArray arr = new JSONArray();

// int i=lst.size();
// JSONObject counter = new JSONObject();
// counter.put("totalCount", i);
// arr.add(counter);


for(Hastane kan:lst){

JSONObject obj = new JSONObject();

obj.put("hid", kan.getHid());
obj.put("isim", kan.getIsim());
obj.put("adres", kan.getAdres());
obj.put("telefon", kan.getTelefon());
obj.put("bashekimid", kan.getBahekimid());
arr.add(obj);
}


JSONObject o = new JSONObject();
o.put("records", arr);
return o;
}

我的 Json 数据如下所示:

{"records":[{"hid":1,"isim":"Zeynep Kamil","adres":"Istanbul","telefon":"056765434567","bashekimid":1},{"hid":2,"isim":"Ankara Hastanesi","adres":"Ankara","telefon":"345678987658","bashekimid":2},{"hid":3,"isim":"Baskent Hastanesi","adres":"Ankara","telefon":"567898765697","bashekimid":3}]}

但是当我尝试在浏览器中显示我的数据时,我收到“无效标签”下方的错误

enter image description here

我在服务器端创建 JSONObject 时是否有错误?

我的 json 数据必须类似于此链接,但我不知道如何构建这样的数据:http://extjsinaction.com/dataQuery.php

最佳答案

您正在使用Ext.data.ScriptTagProxy用于JSONP(跨域请求)

您的请求网址应如下所示:

http://extjsinaction.com/dataQuery.php?callback=callbackFunction

您的回复应如下所示:

callbackFunction({
"records": [
{
"hid": 1,
"isim": "Zeynep Kamil",
"adres": "Istanbul",
"telefon": "056765434567",
"bashekimid": 1
},
{
"hid": 2,
"isim": "Ankara Hastanesi",
"adres": "Ankara",
"telefon": "345678987658",
"bashekimid": 2
},
{
"hid": 3,
"isim": "Baskent Hastanesi",
"adres": "Ankara",
"telefon": "567898765697",
"bashekimid": 3
}
]
})

如果您需要有关 JSONP 的更多信息,Google 是您的 friend 。

一些好的 examples in documentation

关于java - 如何在JAVA中为Ext.data.JsonStore创建JSONObject?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10848674/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com