首页 > 代码库 > Extjs 4.2 +Struts2 实现数据动态加载

Extjs 4.2 +Struts2 实现数据动态加载

//自定义一个的js

function commodityQuery() {

    Ext.state.Manager.setProvider(Ext.create(‘Ext.state.CookieProvider‘));

// Set up a model to use in our Store

Ext.define(‘Commodity‘, {

   extend: ‘Ext.data.Model‘,

   fields: [

       {name: ‘commodityId‘, type: ‘int‘},

       {name: ‘commodityName‘,  type: ‘string‘},

       {name: ‘price‘,  type: ‘float‘},

       {name: ‘agio‘,  type: ‘float‘}

   ]

});

 var store = Ext.create(‘Ext.data.Store‘, {

   model: ‘Commodity‘,

   proxy: {

       type: ‘ajax‘,

       url : ‘commodityQuery‘,

       successProperty:‘success‘,

       reader: {

           type: ‘json‘,

           root: ‘results‘

       }

   },

   autoLoad: {start:0,limit:4}

});

var gridPanel = Ext.create(‘Ext.grid.Panel‘, {

width : 586,

height : 375,

store : store,

columns : [ {

text : "商品编号",

dataIndex : "commodityId",

sortable : true

}, {

text : "商品名称",

dataIndex : "commodityName",

sortable : true

}, {

text : "商品价格",

dataIndex : "price",

sortable : true,

autoWidth : 50

}, {

text : "商品折扣",

dataIndex : "agio",

sortable : true

} ],

forceFit : true,

bbar : [ Ext.create("Ext.toolbar.Paging", {

store : store,

displayInfo : true,

displayMsg : "显示 {0} - {1} 条,共计 {2} 条",

emptyMsg : "没有任何记录",

width : "100%"


}) ]


});

var commodityQueryWindow = Ext.create("Ext.window.Window", {

width : 600,

height : 400,

title : "商品信息查询",

resizable : false,

modal : true,

items : gridPanel

});

commodityQueryWindow.show();


}

**********************

Struts.xml 中的配置

       //method 可以写成DMI方式

<action name="commodityQuery" class="com.rjxy.action.CommodityQueryAction"          method="getCommodity" >

<result type="json">

                <param name="root">responseJson</param>  

            </result>

</action>

**********************

CommodityQueryAction中的变量及方法

private String msg;

private List<Commodity> list;

private Integer totalCount;

private Map responseJson; 

private SaleDaoImpl dao;

private Integer start;

private Integer limit;

/**

* Query Commodity  list.

*/

public String getCommodity(){

Map<String, Object> map = new HashMap<String, Object>();  

try{

conn = GetConnection.getConn();//jdbc连接,网友可以用hibernate

dao = new SaleDaoImpl();

list = dao.queryAllOrder();

if(list != null){

this.setTotalCount(list.size());

map.put("results", list);

       map.put("totalCount", totalCount);

       this.setResponseJson(map);

}

return SUCCESS;

}catch(Exception e){

e.printStackTrace();

return ERROR;

}


本文出自 “学习” 博客,请务必保留此出处http://kefly.blog.51cto.com/1109349/1584415

Extjs 4.2 +Struts2 实现数据动态加载