zl程序教程

您现在的位置是:首页 >  大数据

当前栏目

DWRExt加载数据

数据 加载
2023-06-13 09:14:08 时间
一,在Ext中直接使用DWR
1,PoJO的Manager类为
复制代码代码如下:

publicclassCustomerManagerImplextendsHibernateDaoSupportimplementsCustomerManager{
publicPageModelallCustomers(){
PageModelpageModel=newPageModel();
Listdatas=newArrayList();
inttotal;

Stringhql="fromCustomer";
datas=this.getHibernateTemplate().find(hql);
StringcountHql="selectcount(*)fromCustomer";
total=((Long)this.getSession().createQuery(countHql).uniqueResult()).intValue();

pageModel.setDatas(datas);
pageModel.setTotal(total);
returnpageModel;
}
}

2,那么直接调用DWR取得数据为(dwr.xml代码参考后面)
复制代码代码如下:

varstore=newExt.data.Store({
//data:...这里有DWR调用直接得到
reader:newExt.data.JsonReader({id:"sn"},fields),//List数据
sortInfo:{field:"name",direction:"ASC"}//排序信息
});

//DWR+EXT整合的句子,store.loadData(dataslist);加载数据
//data返回的是PageModel类,属性为total,datas(List数据类型)
//这里不用建立函数,直接执行
JCustomerManager.allCustomers(function(data){
vartotal=data.total;
vardataslist=data.datas;//数据为List类型
store.loadData(dataslist);//加载数据
});

3,这里的DWR只做一件事,通过匿名函数,将返回的值的List数据直接注入给store。DWR返回的data可以被JsonStore直接读取,我们需要设置对应的fields参数,以告诉JsonReader需要哪些属性。

4,补充dwr.xml代码
复制代码代码如下:
<dwr>
<allow>
<!--dwr+spring注入方式-->
<createcreator="spring"javascript="JCustomerManager">
<paramname="beanName"value="customerManager"/>
</create>
<!--使用到的类要用到转换器-->
<convertmatch="com.graduate.crm.PageModel"converter="bean"></convert>
<convertmatch="com.graduate.crm.model.CompanyCustomer"converter="bean"></convert>
</allow>
</dwr>