DWR+Ext 加载数据

一,在Ext中直接使用DWR

1,PoJO的Manager类为

    

public class CustomerManagerImpl extends HibernateDaoSupport implements CustomerManager {
   public PageModel allCustomers() {
		PageModel pageModel = new PageModel();
		List datas = new ArrayList();
		int total ;
		
		String hql = "from Customer";
	                datas = this.getHibernateTemplate().find(hql);
		String countHql = "select count(*) from Customer";
		total = ((Long)this.getSession().createQuery(countHql).uniqueResult()).intValue();
		
		pageModel.setDatas(datas);
		pageModel.setTotal(total);
		return pageModel;
	}
}

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

    var store = new Ext.data.Store({
    	//data:...  这里有DWR调用直接得到
    	reader:new Ext.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) {
			var total = data.total;
			var dataslist=data.datas;     //数据为List类型		
   			store.loadData(dataslist);  //加载数据
    		});

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

4,补充dwr.xml代码

<dwr>
  <allow> 
    <!-- dwr+spring 注入方式-->
    <create creator="spring" javascript="JCustomerManager">
      <param name="beanName" value="customerManager"/>
    </create>
    <!-- 使用到的类要用到转换器-->
    <convert match="com.graduate.crm.PageModel" converter="bean"></convert>
    <convert match="com.graduate.crm.model.CompanyCustomer" converter="bean"></convert>
  </allow>
</dwr>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值