Spring开发,关于在TableItem上如何获取Gwt对象的问题

来源:互联网 发布:mysql创建一个学生表 编辑:程序博客网 时间:2024/06/11 15:37

2012年8月16日 20:21:57

关于在TableItem上如何获取Gwt对象的问题

在处理前台和后台交互数据的时候遇到麻烦了,

分类的字段有:


如果想得到活动类别的id =13和分类在前台显示的元素gwtmodel里面的projectId,怎样得到呢?gwtmodel在前台显示的时候是怎样携带数据的呢?

首先,西边是一棵树,在这个panel实现监听,

MenuTreeModel pMenuTreeModel = (MenuTreeModel)be.getItem();

储存选中的条目,如果你想要取出某对象的某个属性,你就

Gwt对象 xx=pMenuTreeModel.getModelObject();例如想得到分类的属性就这样能写

GwtSort gwtSort=pMenuTreeModel.getModelObject();

然后你就可以为所欲为地拿到gwtSort的里面的任何字段的值了,如gwtSort.getId, gwtSort.getProjectId

gwtSort.getNmae.

 

是不是很神奇呢,我觉得也是,为什么前台的元素可以轻而易举地load到某实体的属性值呢?

鉴于对spring这个框架的了解不足,我就猜猜应该是这段神奇的代码在起作用。

BaseRpcProxy<List<MenuTreeModel>>baseRpcProxy = newBaseRpcProxy<List<MenuTreeModel>>() {

                                                       

BaseRpcProxy<List<MenuTreeModel>> baseRpcProxy = new BaseRpcProxy<List<MenuTreeModel>>() {@Overrideprotected void load(Object loadConfig, AsyncCallback<List<MenuTreeModel>> callback) {// TODO Auto-generated method stubRpcLoaderProxy rpcLoaderProxy = new RpcLoaderProxy(new BaseAsyncCallback<List<GwtWsOfficeDocumentProjectSort>>() {@Overridepublic void onSuccess(List<GwtWsOfficeDocumentProjectSort> result) {// TODO Auto-generated method stubSystem.err.println("size="+result.size());List<MenuTreeModel> menuTreeModelList = new ArrayList<MenuTreeModel>();if (result == null) return;System.out.println();for (GwtWsOfficeDocumentProjectSort sort : result) {//System.err.println("Id=" + sort.getId() + " " + "parentId=" + sort.getParentId() + " projectId=" + sort.getProjectId());MenuTreeModel menuTreeModel = new MenuTreeModel(sort.getId(), sort.getName());menuTreeModel.setParentId(sort.getParentId());menuTreeModel.setModelObject(sort);menuTreeModel.setChildsId(sort.getChildIds());if(sort.getParentId()  == 0) {menuTreeModel.setParentId(null);}menuTreeModelList.add(menuTreeModel);System.out.println(sort.getId() + "  " + sort.getChildIds());}//// System.err.println("id"+gwtWsOfficeDocumentProjectSort.getId());//MenuTreeModel menuTreeModel = new MenuTreeModel(gwtWsOfficeDocumentProjectSort.getId(), gwtWsOfficeDocumentProjectSort.getName());//menuTreeModel.setParentId(gwtWsOfficeDocumentProjectSort.getParentId());//menuTreeModel.setModelObject(gwtWsOfficeDocumentProjectSort);//menuTreeModelList.add(menuTreeModel);this.fireEvent(CustomEvents.OnSuccess, menuTreeModelList);}}, callback) {@Overrideprotected void loadDataAction(Object parameter) {// TODO Auto-generated method stub$.get(WsOfficeDocumentRpcServiceAsync.class).getTreeSortOfAllProject($.getCurrentSiteId(), $.getCurrentLocale(), $.getCurrentComponentId(), this.<List<GwtWsOfficeDocumentProjectSort>> getBaseAsyncCallback());}};rpcLoaderProxy.load();//}};

远程代理,将服务器的对象load出来保存在本地,供我们需要的时候再调用,我就这样理解,不知道正确不,百度RpcLoaderProxy也查不出有效的资讯,这方面还需要很长的路要走。

原创粉丝点击