Spring MVC と extjs 4 のビューを使用してアプリを開発しています。この時点で、ユーザーのリストを表示するグリッドを作成する必要があります。
私のSpring MVCコントローラーには、「アイテム」をルートとしてjsonformatでユーザーのリストを返すGetメソッドがあります。
@RequestMapping(method=RequestMethod.GET, value="/getUsers")
public @ResponseBody Users getUsersInJSON(){
Users users = new Users();
users.setItems(userService.getUsers());
return users;
}
ブラウザでアクセスしようとすると、jsondata が正しく表示されます。
{"items":[{"username":"name1",".....
しかし、私の問題は Ext.data.Store のリクエストに関連しています
私のスクリプトは次のとおりです。
Ext.onReady(function(){
Ext.define('UsersList', {
extend: 'Ext.data.Model',
fields: [
{name:'username', type:'string'},
{name:'firstname', type:'string'}
]
});
var store = Ext.create('Ext.data.Store', {
storeId: 'users',
model: 'UsersList',
autoLoad: 'true',
proxy: {
type: 'ajax',
url : 'http://localhost:8080/MyApp/getUsers.html',
reader: {type: 'json', root: 'items'}
}
});
Ext.create('Ext.grid.Panel',{
store :store,
id : 'user',
title: 'Users',
columns : [
{header : 'Username', dataIndex : 'username'},
{header : 'Firstname', dataIndex: 'firstname'}
],
height :300,
width: 400,
renderTo:'center'
});
});
ストアがデータを取得しようとして http リクエストを起動すると、firebug コンソールに OPTIONS getUsers.html が表示され、ブラウザのリクエストは GET getUsers.html を起動します
その結果、Ext.data.Store には要素がなく、グリッドは列名とともに表示されますが、データは表示されません。多分私は何かを逃した
ありがとうございました