java实体与gxt ModelData的转换

java实体与gxt BeanModel 的转换

 

第一种方法:

java实体bean实现BeanModelTag标识接口

 

第二种方法:

       新建一个新的接口继承于BeanModelMarker,并且用@BEAN(实体.class)指定java实体

 

第二种方法:

利用BeanModelFactory方法转换

 

示例:

第一种java bean:

 

public class Entity implements Serializable,BeanModelTag{

}
 

第二种java bean不变,新建一个接口:

 

@BEAN(Bank.class)
public interface BeankBean extends BeanModelMarker {

}

 

 

gxt测试代码:

 

final RpcProxy<ListLoadResult<BeanModel>> rpcProxy = new RpcProxy<ListLoadResult<BeanModel>>() {

			@Override
			protected void load(Object loadConfig, AsyncCallback<ListLoadResult<BeanModel>> callback) {
				BankActionAsync bankActionAsync = Registry.get("bankAction");
				bankActionAsync.getAll(callback);
			}
		};
rpcProxy.load(new BeanModelReader(), new Object(), new AsyncCallback<ListLoadResult<BeanModel>>(){

					@Override
					public void onFailure(Throwable caught) {
						// TODO Auto-generated method stub
						System.out.println("失败");
					}

					@Override
					public void onSuccess(ListLoadResult<BeanModel> result) {
						for(BeanModel m : result.getData()){
							System.out.println(m.get("id"));
							System.out.println(m.get("name"));
							System.out.println(m.get("serviceNo"));
							System.out.println("---------------------");
						}
					}

					
					
				});

 

第三种方法:

/**
	 * 把bean转换成beanModel
	 * @param o
	 * @return
	 */
	public static BeanModel convertBeanToBeanModel(Object o){
		BeanModelFactory factory = BeanModelLookup.get().getFactory(o.getClass());
		return factory.createModel(o);
	}
 

 

你可能感兴趣的:(Model)