10.ExtとDwr
15952 ワード
EXT DWR
DWR JavaScript , ,
EXT DWR JavaScript 。
Grid , , :id、name、sex、email、tel、addTime descn。
POJO, :
- public class Info {
- long id;
- String name;
- int sex;
- String email;
- String tel;
- Date addTime;
- String descn;
- }
POJO manager , :
- public class InfoManager {
- private List infoList = new ArrayList();
-
- public List getResult() {
- return infoList;
- }
- }
, , dwr.xml , 。
EXT DWR , JavaScript , :
- var cm = new Ext.grid.ColumnModel([
- {header:' ',dataIndex:'id'},
- {header:' ',dataIndex:'name'},
- {header:' ',dataIndex:'sex'},
- {header:' ',dataIndex:'email'},
- {header:' ',dataIndex:'tel'},
- {header:' ',dataIndex:'addTime'},
- {header:' ',dataIndex:'descn'}
- ]);
-
- var store = new Ext.data.JsonStore({
- fields: ["id","name","sex",'email','tel','addTime','descn']
- });
-
- // DWR
- infoManager.getResult(function(data) {
- store.loadData(data);
- });
-
- var grid = new Ext.grid.GridPanel({
- renderTo: 'grid',
- store: store,
- cm: cm
- });
, infoManager.getResult() ,DWR Ajax , 。
, data ds 。
DWR data JsonStore , fields , JsonReader 。
,EXT DWR , 。 , 。
, 。
DWR EXT DWRProxy
EXT DWR, , 。 , Grid 、
、 、 。
EXT DWRProxy, DWR EXT 。 , DWRProxy Java ,
。
, , 。
DWRProxy.js ext-base.js ext-all.js , 。
DWRProxy 。 DWRProxy.js , 。
, 。 ListRange.java,
:
- public class ListRange {
- Object[] data;
- int totalSize;
- }
ListRange , : data totalSize。
InfoManager.java, , getItems , :
- public ListRange getItems(Map conditions) {
- int start = 0;
- int pageSize = 10;
- int pageNo = (start / pageSize) + 1;
-
- try {
- start = Integer.parseInt(conditions.get("start").toString());
- pageSize = Integer.parseInt(conditions.get("limit").toString());
- pageNo = (start / pageSize) + 1;
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- List list = infoList.subList(start, start + pageSize);
- return new ListRange(list.toArray(), infoList.size());
- }
getItems() Map, , start limit。 HTTP , ,
。
start limit , ListRange , ListRange ,
。
, Ext.data.DWRProxy , Ext.data.List- RangeReader。
,EXT DWR 。
, EXT , proxy reader, EXT ,
。
DWR, Grid , , :
- var store = new Ext.data.Store({
- proxy: new Ext.data.DWRProxy(infoManager.getItems, true),
- reader: new Ext.data.ListRangeReader({
- totalProperty: 'totalSize',
- root: 'data',
- id: 'id'
- }, info),
- remoteSort: true
- });
, proxy, reader, ,Grid 。
DWRProxy , :
dwr- Call, DWR , getItems ;
paging- AndSort, DWR 。
ListRangeReader ListRange.java 。totalProperty ,
ListRange totalSize 。
root , ListRange data,
DWRProxy ListRange data 。
ListRange.java , , totalProperty data 。
DWR EXT DWRTreeLoader
DWR。 , DWR tree 。
, TreeNode.java。 , id、text leaf 。
- public class TreeNode {
- String id;
- String text;
- boolean leaf;
- }
id , id 。text ,leaf ,
。
,TreeNodeManager.java getTree() id ,
。
, 。
TreeNodeManager.java :
- public List getTree(String id) {
- List list = new ArrayList();
- String seed1 = id + 1;
- String seed2 = id + 2;
- String seed3 = id + 3;
- list.add(new TreeNode(seed1, "" + seed1, false));
- list.add(new TreeNode(seed2, "" + seed2, false));
- list.add(new TreeNode(seed3, "" + seed3, true));
-
- return list;
- }
, Java List , JSON 。
JavaScript , DWRTree- Loader.js, TreeLoader DWRTreeLoder ,
:
- var tree = new Ext.tree.TreePanel('tree', {
- loader: new Ext.tree.DWRTreeLoader({dataUrl: treeNodeManager.getTree})
- });
dataUrl, treeNodeManager.getTree DWR , ,