我使用extdirectspring为我的Spring MVC应用设置了ext。我能够检索原语和字符串并在ext.js中使用它们。当我尝试检索对象列表时,我在javascript端得到“未定义”。我需要对Person类做些什么特别的事情让它起作用吗?
我注释了以下代码:
@ExtDirectMethod(ExtDirectMethodType.STORE_READ)
@Override
public Collection<Person> getPeople(String groupId) {
Group group = GroupManager.getGroup(groupId);
return group.getPeopleList();
}
这就是我在客户端使用的内容:
directory.getPeople(id, function(result) {
console.log(result);
});
这是app.js的样子:
Ext.ns('Ext.app');
Ext.app.REMOTING_API = {
"actions":{
"directory":[{
"name":"getID","len":0
},{
"name":"getPeople","len":1
}
]},
"type":"remoting",
"url":"/test/action/router"
};
答案 0 :(得分:1)
您是否尝试过使用ExtDirectStoreResponse类?它确实使用了一个集合,但也管理了一些在商店中使用的有用值。
@ExtDirectMethod(ExtDirectMethodType.STORE_READ)
public ExtDirectStoreResponse<Person> load()
{
Group group = GroupManager.getGroup(groupId);
Collection<Person> people = group.getPeopleList();
return new ExtDirectStoreResponse<Person>(people.size(), people);
}
这是使用STORE_READ时使用的方法。该方法注释期望请求在ExtDirectStoreReadRequest类中匹配值。这是在进行商店阅读时使用的参考。 https://github.com/ralscha/extdirectspring/wiki/Store-Read-Method
此外,您可以设置ExtJs商店并调用
,而不是直接调用该方法store.load();