內蒙古java團隊

          j2se,j2ee開發組
          posts - 139, comments - 212, trackbacks - 0, articles - 65
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          EXT2學習筆記

          Posted on 2009-02-19 16:18 帥子 閱讀(409) 評論(0)  編輯  收藏 所屬分類: j2se技術專區申請加入java團隊


          ?? 本人最近在研究EXT的東東,很是佩服這個開源團隊啊!這個東東是今后web發展的主流方向.呵呵廢話不多說了,下面說說最近學習的經驗:


          1.首先Ext的核心包主要有兩個:ext-base.js和ext-all.js.

          開發主要是以script為主,在開發過程中類似與我們熟悉的deaktop開發,里面包含了所用到的各種類包,例如:grid,panel,button等等.

          使用起來非常方便,充分的展示了AJAX的優勢.

          2.并能和struts有很好的結合,在xml方面也是尤其的突出.

          3.下面我給個簡單例子:

          ? 關于分頁的,是一個網上例子的改寫.與struts的簡單結合.

          下面是demofy.jsp
          <%@ page language="java" pageEncoding="utf-8"%>

          <%@ taglib uri="<%@ taglib uri="<%@ taglib uri="<%@ taglib uri="


          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
          <html:html>
          ? <head>
          ??? <html:base />
          ???
          ?? <title>頁分</title>
          <link rel="stylesheet" type="text/css" href="../CSS/ext-all.css" />
          ?

          ?<meta http-equiv="pragma" content="no-cache">
          ?<meta http-equiv="cache-control" content="no-cache">
          ?<meta http-equiv="expires" content="0">???
          ?<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
          ?<meta http-equiv="description" content="This is my page">
          ?
          ???
          ??? <script type="text/javascript" src="../JS/ext-base.js"></script>
          ??<script type="text/javascript" src="../JS/ext-all.js"></script>
          ? </head>
          ?
          ? <body>
          ?? <script>
          Ext.onReady(function(){

          var sm = new Ext.grid.CheckboxSelectionModel();

          var cm = new Ext.grid.ColumnModel([
          ??? new Ext.grid.RowNumberer(),
          ??? sm,
          ??????? {header:'編號',dataIndex:'id',sortable:true},
          ??????? {header:'名稱',dataIndex:'name',sortable:true},
          ??????? {header:'性別',dataIndex:'sex',sortable:true,renderer:function(value){
          ??????? if(value=='male'){
          ????????? return " <span style='color:red;font-weight:bold;'>紅男 </span> ";
          ??????? }else{
          ????????? return " <span style='color:green;font-weight:bold;'>綠女 </span>";
          ??????? }
          ??????? }},
          ??????? {header:'描述',dataIndex:'descn',sortable:true}
          ??? ]);
          ??? cm.defaultSortable = true;
          ?var ds = new Ext.data.Store({
          ??????? proxy: new Ext.data.HttpProxy({url:'../test.do'}),
          ??????? reader: new Ext.data.JsonReader({
          ??????????????? totalProperty: 'totalProperty',
          ??????????????? root: 'root'
          ??? },
          ??? [
          ??????? {name: 'id',mapping:'id'},
          ??????? {name: 'name',mapping:'name'},
          ??????? {name:'sex',mapping:'sex'},
          ??????? {name: 'descn',mapping:'descn'}
          ??? ]),
          ??? remoteSort:true
          ???
          ??? });
          ??????
          ??? var grid = new Ext.grid.GridPanel({
          ??? el: 'grid',
          ??? title:'Ext Grid Test',
          ??? width:450,
          ??? height:410,
          ??? trackMouseOver:false,
          ?? loadMask: {msg:'正在加載數據,請稍侯……'},
          ??? store:ds,
          ??? cm: cm,
          ??? sm:sm,
          ??? bbar: new Ext.PagingToolbar({
          ??????????? pageSize: 5,
          ??????????? store: ds,
          ??????????? displayInfo: true,
          ??????????? displayMsg: '當前顯示 {0} - {1}條記錄 /共 {2}條記錄',
          ??????????? emptyMsg: "No topics to display"
          ??????? })
          });
          ?
          ??? grid.render();
          ???
          ??? ds.load({params:{start:0, limit:5}});
          ???
          });


          </script>
          <div id="grid"></div>?
          <br>
          Hello,Welcome to Here!

          ? </body>
          </html:html>
          下面是action
          public ActionForward execute(ActionMapping mapping, ActionForm form,
          ???HttpServletRequest request, HttpServletResponse response) {
          ??// TODO Auto-generated method stub
          ?? String start = request.getParameter("start");
          ??? String limit = request.getParameter("limit");
          ??? int index = Integer.parseInt(start);
          ??? int pageSize = Integer.parseInt(limit);
          ??? String json = "{totalProperty:100,root:[";
          ??? String sex="";
          ??? for (int i = index; i < pageSize + index; i++) {
          ??? if(i%2==0)
          ??? {
          ???? sex="male";
          ??? }
          ??? else{
          ???? sex="female";
          ??? }
          ????? json += "{id:" + i + ",name:'" + i + "',sex:'"+sex+"',descn:'descn" + i
          ????? + "'}";
          ????? if (i != pageSize + index - 1) {
          ????? json += ",";
          ????? }
          ??? }
          ??? json += "]}";
          ??? try {
          ???response.getWriter().write(json);
          ??} catch (IOException e) {
          ???// TODO Auto-generated catch block
          ???e.printStackTrace();
          ??}
          ??? System.out.println("獲取數據:?? "+start+"----"+limit);
          ??return null;
          ?}
          ///
          注意就是在做的時候一定要把image包引用進來啊.
          好了今天就說到這里,最近比較忙,過幾天我們繼續分享.

          如果有朋友想和我一起研究的話,請聯系我:
          QQ群:10239526

          主站蜘蛛池模板: 哈巴河县| 仁化县| 揭西县| 兴和县| 大田县| 永兴县| 乐业县| 义马市| 宣汉县| 江口县| 宁阳县| 万全县| 龙陵县| 黎城县| 渝北区| 蚌埠市| 天等县| 临泉县| 织金县| 桃园县| 太湖县| 孝感市| 定西市| 新民市| 资阳市| 铁岭市| 泌阳县| 山丹县| 阜平县| 根河市| 锡林浩特市| 红河县| 南溪县| 敦煌市| 桂阳县| 余江县| 融水| 静宁县| 南溪县| 宿松县| 商南县|