Java Sencha:迭代自定义BaseModel子类的列表存储

Java Sencha:迭代自定义BaseModel子类的列表存储,java,gwt,extjs,Java,Gwt,Extjs,我昨天刚开始玩Sencha的Ext GWT,我遇到了麻烦。我组合了来自JSON加载网格和可编辑网格的方法。作为一个测试数据集,我使用了星际之门亚特兰蒂斯剧集列表,因此SGAEpisode定义为: public class SGAEpisode extends BaseModel { public SGAEpisode() { } public SGAEpisode(String season, String episode) { set("season",season);

我昨天刚开始玩Sencha的Ext GWT,我遇到了麻烦。我组合了来自JSON加载网格和可编辑网格的方法。作为一个测试数据集,我使用了星际之门亚特兰蒂斯剧集列表,因此SGAEpisode定义为:

public class SGAEpisode extends BaseModel {
  public SGAEpisode() {

  }

  public SGAEpisode(String season, String episode) {
    set("season",season);
    set("episode",episode);
  }

  public void setSeason(String season) {
    set("season",season);
  }

  public String getSeason(){
    return get("season");
  }

  public void setEpisode(String name) {
    set("episode",name);
  }

  public String getEpisode() {
    return get("episode");
  }

  public String toString() {
    return "Season: " + get("season") + " episode: " + get("episode");
  }
} 
onModuleLoad以

ModelType type = new ModelType();
type.setRoot("seasons");
type.addField("Season","season");
type.addField("Episode","episode");

String path = GWT.getHostPageBaseURL() + "senchaapp/sgaepisodes";

final RequestBuilder builder = new RequestBuilder(RequestBuilder.GET,path);
final MVProxy<String> proxy = new SProxy<String>(builder);

JsonLoadResultReader<ListLoadResult<SGAEpisode>> reader = new JsonLoadResultReader<ListLoadResult<SGAEpisode>>(type);
final BaseListLoader<ListLoadResult<SGAEpisode>> loader = new BaseListLoader<ListLoadResult<SGAEpisode>>(proxy,reader);

final ListStore<SGAEpisode> episodes = new ListStore<SGAEpisode>(loader);

我收到一条异常消息,消息com.extjs.gxt.ui.client.data.BaseModel无法转换为com.mvsc.sencha.shared.sgaepicode知道我做错了什么吗?到那时为止,所有内容都定义/填充了SGAEPISODE

附录 好吧,如果我试一下

List<Record> modified = episodes.getModifiedRecords();

for(Record r : modified) {
  ModelData md = r.getModel();
  save(md.get("season"),md.get("episode")); 
}
我可以迭代并获得修改后的值,但是如果我必须像这样使用基类,那么拥有ModelData子类又有什么意义呢。这让我觉得我其实不需要。。。。。帮个小忙


附录2我尝试对BaseModelData进行子类化,但没有成功。

我知道这是一篇较老的文章,我也有同样的问题。我就是这样修好的。 尝试在listStore中迭代模型

for(SGAEpisode episode : episodes.getModels()) {
    save(episode);
}
List<Record> modified = episodes.getModifiedRecords();

for(Record r : modified) {
  ModelData md = r.getModel();
  save(md.get("season"),md.get("episode")); 
}
for(SGAEpisode episode : episodes.getModels()) {
    save(episode);
}