內蒙古java團隊

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

          EXT2學習筆記

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


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


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

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

          使用起來非常方便,充分的展示了AJAX的優(yōu)勢.

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

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

          ? 關于分頁的,是一個網(wǎng)上例子的改寫.與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:'正在加載數(shù)據(jù),請稍侯……'},
          ??? 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("獲取數(shù)據(jù):?? "+start+"----"+limit);
          ??return null;
          ?}
          ///
          注意就是在做的時候一定要把image包引用進來啊.
          好了今天就說到這里,最近比較忙,過幾天我們繼續(xù)分享.

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

          主站蜘蛛池模板: 洛南县| 武乡县| 乐安县| 玉树县| 维西| 北安市| 克山县| 炎陵县| 南华县| 广河县| 普格县| 商城县| 水富县| 乐昌市| 双辽市| 久治县| 休宁县| 阳曲县| 白水县| 揭西县| 武平县| 久治县| 安义县| 井研县| 杭锦后旗| 嘉义县| 肇源县| 洪湖市| 甘德县| 新宾| 女性| 榆树市| 宜兴市| 光山县| 南丹县| 工布江达县| 宁德市| 伊金霍洛旗| 湖口县| 吉林省| 丰宁|