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

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>>() {

				@Override
				protected void load(Object loadConfig, AsyncCallback<List<MenuTreeModel>> callback) {
					// TODO Auto-generated method stub
					RpcLoaderProxy rpcLoaderProxy = new RpcLoaderProxy(new BaseAsyncCallback<List<GwtWsOfficeDocumentProjectSort>>() {

						@Override
						public void onSuccess(List<GwtWsOfficeDocumentProjectSort> result) {
							// TODO Auto-generated method stub
							
							System.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) {

						@Override
						protected void loadDataAction(Object parameter) {
							// TODO Auto-generated method stub
							$.get(WsOfficeDocumentRpcServiceAsync.class).getTreeSortOfAllProject($.getCurrentSiteId(), $.getCurrentLocale(), $.getCurrentComponentId(), this.<List<GwtWsOfficeDocumentProjectSort>> getBaseAsyncCallback());
						}

					};
					rpcLoaderProxy.load();
					//
				}

			};

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值