У меня есть проект портлета, использующий json, dojo.Я получаю сообщение об ошибке «TypeError: this._arrayOfTopLevelItems не определено», если я заполняю DataGrid с помощью ItemFileReadStore, заполненного из JSONObject, переданного из контроллера в jsp в модели (см. Data1).Для отладки я обнаружил, что если я распечатываю содержимое JSONObject на консоль, а затем загружаю хранилище с этим содержимым в виде строки (см. Data4), я не получаю сообщение об ошибке.Я исследовал ошибку и обнаружил, что она возникла, если вы не указали идентификатор в данных json, но я его предоставляю.
function initalizeAddPoliciesStore () {
//use when returning a JSONObject ???
var data1 = '${multiArrangementCaseInfo}';
var addPoliciesStore1 = new dojo.data.ItemFileReadStore({ data: data1 });
var data4 = {"items":[{"nextDate":"12/27/2011","nextBillAmount":"10.03","policy":"12345678","owner":"Smith, A","insured":"Smith, J","prior2PaidAmount":"42.08","priorPaidAmount":"34.05"}],"identifier":"policy"};
var addPoliciesStore4 = new dojo.data.ItemFileReadStore({ data: data4 });
addPoliciesGrid = new dojox.grid.DataGrid({
id : '<portlet:namespace/>addPoliciesGrid',
query : {
policy : '*'
},
store : addPoliciesStore1,
structure : displayMCOMLayout
}, '<portlet:namespace/>addPoliciesGridTableId');
// Call startup, in order to render the grid:
addPoliciesGrid.startup();
}