<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    幸せのちから

    平凡的世界
    看似平常實崎嶇
    成如容易卻艱辛

    1.0.1-M5-A4升級說明(M5 Release翻譯稿)

    1.1.?開發快照版

    extremecomponents-1.0.1-M5-A4版(下載) 是正式版發行前的最后開發快照版。這個build版所使用的代碼將被下一個release版沿用。

    1.2.?1.0.1-M5-A4

    我決定發布一個新的里程碑(milestone)版是因為我對視圖(view)的代碼做了一些調整,現在eXtremeTable將能夠支持AJAX(而不是局部build)。 在確認release候選版前,這些增加的大的特性能夠完美地工作。

    下面列出的是eXtremeTable下一個里程碑(milestone)版特性和改進,我希望從上一個里程碑版升級到現在這版沒有任何問題(breakage)。 然而,在完成M4版視圖實現后,我決定我必須做最后的更改...將靜態builders變為具體的類。這將是唯一可能出現問題(breakage)并且 將只影響到定制視圖(定制cells也一樣,但是更多的是較平和的deprecated)。盡管那樣,這些更改將很容易實現。

    1.3.?Html Builder類具體化

    所有的視圖builder類具體化,需要被實例化,這些只對開發者需要創建定制試圖或cells有影響。 這是因為需要使得視圖代碼能夠像他們需要的那樣具有彈性。builder classes是靜態的能夠很好地工作,但是 將來沒有機會來做一些有意義的事,并且創建定制試圖更加麻煩。然而,現在這些方法和原來的一樣,而僅僅是需要對它進行實例化。

    為了使這種轉變更容易CellBuilder仍然是靜態的,但是現在為deprecated。新的(非靜態)builder稱為ColumnBuilder,通過這個名稱我們能更確切地知道什么被構建了。

    public String getHtmlDisplay(TableModel model, Column column) {
    ColumnBuilder columnBuilder = new ColumnBuilder(column);
    columnBuilder.tdStart();
    columnBuilder.tdBody(getCellValue(model, column));
    columnBuilder.tdEnd();
    return columnBuilder.toString();
    }

    另一個例子,使用ColumnBuilder定制cells如下:

    public String getHtmlDisplay(TableModel model, Column column) {
    InputBuilder inputBuilder = new InputBuilder(column);
    inputBuilder.tdStart();
    try {
    Object bean = model.getCurrentRowBean();
    Integer id = new Integer(BeanUtils.getProperty(bean, "id"));
    inputBuilder.tdBody(id);
    } catch (Exception e) {}
    inputBuilder.tdEnd();
    return inputBuilder.toString();
    }
    private static class InputBuilder extends ColumnBuilder {
    public InputBuilder(Column column) {
    super(column);
    }
    public void tdBody(Integer id) {
    getHtmlBuilder().input("radio").name("location.id").id("location.id").value(id.toString()).onclick("populateLocationFields(this.value)");
    getHtmlBuilder().xclose();
    }
    }
    }

    這樣更簡潔,只需要擴展你關心的builder,并構建你定制的實現。

    另外toolbar被完全重構,但是這個實現被隱藏在ToolbarBuilder類的背后,所以不會有影響。

    最后,我探索性地增加了toolbar特性,這樣可以在preferences配置表關聯到不同的toolbars。 這個特性能夠用來動態構造toolbar。這將使開發者很簡單地通過preferences來定義一個定制的toolbar。 例如,一個toolbar當使用Limit定制不包含最后一頁按鈕,或者另一個toolbar不包含rows displayed... 如果你要定制的就是這些東西而不需要別的新的特性,你最好等待一兩個星期直到我實現完成。

    1.4.?新的表的showTitle屬性

    TableTag新的showTitle屬性用來確認是否現實title,這是一個boolean值默認為true。

    1.5.?Limit現在能使用State特性

    Limit特性為了使用State特性,你需要使用TableLimitFactory的帶有state的構造函數,當使用state 特性時,你應該提供唯一的tableId(本例為presidents),帶有state的構造函數同時也需要這個tableId。

    		Context context = new HttpServletRequestContext(request);
    LimitFactory limitFactory = new TableLimitFactory(context, presidents, TableConstants.STATE_PERSIST, null);
    Limit limit = new TableLimit(limitFactory);

    1.6.?新的列的filterOptions屬性/FilterOption接口

    TableTag新的filterOptions屬性,能夠接受一個filter options的集合,這個集合中的每個bean都實現FilterOption的 接口。被用來和filterCell=droplist結合,當使用Limit時使用定制droplist時非常有用。

    1.7.?導出EXCLE文件時的本地語言的支持

    默認的XlsView使用UTF-16編碼,這樣能夠支持對于雙字節語言導出。如果要使用unicode,你可以設置 ExportTag的新的encoding屬性,這個屬性接受的值為:UTF和UNICODE。

    1.8.?刪除Compact視圖的title的style

    當使用compact視圖是我硬編碼了表的title,這是一個bug。只需要通過CSS的titleRow屬性style(或移走)title。

    1.9.?TableModel現在變為接口

    TableModel現在變為接口,這只對TableAssembler產生影響。然而,正如下面提到的,使用Java代碼來組裝一個表將更容易。

    1.10.?TableAssembler整合到TableModel

    當使用Java代碼來組裝一個表將更容易:

    		TableModel model = new TableModelImpl(context);

    Table table = new Table(model); table.setItems(presidents); table.setAction("assembler.run"); table.setTitle("Presidents"); table.setShowTooltips(Boolean.FALSE); model.addTable(table);

    Row row = new Row(model); row.setHighlightRow(Boolean.FALSE); model.addRow(row);

    Column columnName = new Column(model); columnName.setProperty("fullName"); columnName.setIntercept((AssemblerIntercept.class).getName()); model.addColumn(columnName);

    Column columnNickName = new Column(model); columnNickName.setProperty("nickName"); model.addColumn(columnNickName);

    Object view = model.assemble();

    1.11.?重命名FilterSet.getValue()方法

    FilterSet.getValue()方法被Deprecated,重命名為FilterSet.getFilterValue()。

    1.12.?刪除TableTag的onsubmit

    onsubmit被刪除,因為javascript被表的所有actions使用。

    1.13.?總計導出

    PDF和XLS現在包含總計導出,你只需要和平常一樣設置Calc特性。

    1.14.?導出錯誤-Response頭修改

    過濾器的response頭應該能更好地適應不同環境,在response頭后添加:

    response.setHeader("Cache-Control", "must-revalidate, post-check=0,pre-check=0");

    1.15.?列標簽autoGenerateColumns的Preferences

    autoGenerateColumns屬性現在可以在Preferences文件中配置,可以使用別名來避免全路徑引用。

    1.16.?自動轉換參數

    Registry能夠接受null、String、List或者Array作為參數,Registry將把這些轉換成String[]。

    1.17.?表的bufferView屬性

    表的bufferView屬性,默認為true將使用視圖的默認buffer。如果不需要使用buffer可以設置為false。

    1.18.?eXtremeTable的AJAX特性

    當使用eXtremeTable API來通過JAVA代碼來創建表時,現在可以結合AJAX技術來生成視圖。這意味著 當navigate(比如:翻頁)時不需要刷新web頁,這令人非常興奮,關于這個特性的更多的文檔將會出來。開發 者能夠更好地測試并使用這個特性,這個特性的真正hook是表的onInvokeAction屬性,它使得javascript方法 能夠被invoked。AJAX整合一個最強大的地方是它不需要整合。下一步是使eXtremeTable有一個清晰并且易于使用的API, 這意味著你可以使用你感興趣的AJAX技術因為eXtremeTable沒有整合一個特定的技術。現在你可以通過CVS得到eXtremeSite代碼, 它展示了一個使用AJAX的實例,它現在使用HSQL所以只需要下載并直接運行。請暫時不要向我詢問更多的文檔,我現在正在整理 并將盡可能快的發布出來。

    posted on 2006-03-21 10:18 Lucky 閱讀(1124) 評論(0)  編輯  收藏 所屬分類: extremeComponents

    <2006年3月>
    2627281234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    導航

    隨筆分類(125)

    文章分類(5)

    日本語

    搜索

    積分與排名

    最新隨筆

    最新評論

    主站蜘蛛池模板: 永久免费视频网站在线观看| 国产亚洲色视频在线| 免费看搞黄视频网站| 亚洲精品无码av片| 亚洲黄色在线网站| 国产亚洲情侣一区二区无| 成人免费视频一区| 永久免费视频网站在线观看| 国产麻豆一精品一AV一免费| 色婷婷亚洲一区二区三区| 亚洲中字慕日产2020| 亚洲AV无码成人网站久久精品大 | 永久免费毛片手机版在线看| 中文字幕在线免费观看| a级毛片100部免费观看| 七次郎成人免费线路视频| 成a人片亚洲日本久久| 亚洲中文无码亚洲人成影院| 亚洲国产精品人久久电影| 老色鬼久久亚洲AV综合| 亚洲成色WWW久久网站| 日韩精品亚洲aⅴ在线影院| 亚洲国产一区二区视频网站| 日韩一级视频免费观看| 国外成人免费高清激情视频| 丁香花在线观看免费观看| 亚色九九九全国免费视频| 日韩免费高清大片在线| 99在线观看免费视频| 亚洲a一级免费视频| 99国产精品视频免费观看| 午夜精品射精入后重之免费观看 | 日本高清免费网站| 成年在线网站免费观看无广告 | 亚洲资源在线视频| 亚洲视频在线观看网站| 亚洲精品视频免费看| 亚洲精品中文字幕无乱码| 亚洲美女视频网站| 亚洲免费视频网址| 亚洲 欧洲 日韩 综合在线|