幸せのちから

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

          Preferences 指南

          Preferences 指南


          1. 引言

          為了設置全局屬性和設置,你需要使用Preferences特性,它現在使用一個屬性文件來實現。本文檔將很好地介紹如何在web.xml里設置Preferences, 以及一些需要被定義的通用屬性。在這里我非常樂意介紹一些關于Preferences的進一步用法。

          所有標簽屬性表示一個可插接的接口,它可以通過給出實現的全路徑來設置。這為插接實現提供了一條便利的途徑。當然這存在一些為過長術語的設計和維護的考慮。 第一,對你的接口實現進行硬編碼;第二,如果你需要在別的JSP中用到同一個接口實現,你需要拷貝你全路徑。解決這兩個問題的有效辦法就是在Preferences中聲明一切。

          1.1. Preferences表

          下面列出的是可以在Preferences中申明的所有接口。Tag列展示的是eXtremeTable的標簽,Attribute 列展示的是相關標簽的對應屬性。Interface列展示的是需要被實現的Java接口。Preference Key列展示的是 Preferences里對應的健。

          TagAttributeInterfacePreference Key
          TableTagfilterRowsCallbackorg.extremecomponents.table.callback.FilterRowsCallbacktable.filterRowsCallback
          TableTaginterceptorg.extremecomponents.table.intercept.InterceptTabletable.intercept
          TableTagretrieveRowsCallbackorg.extremecomponents.table.callback.RetrieveRowsCallbacktable.retrieveRowsCallback
          TableTagsortRowsCallbackorg.extremecomponents.table.callback.SortRowsCallbacktable.sortRowsCallback
          TableTagstateorg.extremecomponents.table.state.Statetable.state
          TableTagvieworg.extremecomponents.table.view.Viewtable.view
          RowTaginterceptorg.extremecomponents.table.intercept.InterceptRowrow.intercept
          ColumnTagcalcorg.extremecomponents.table.calc.Calccolumn.calc
          ColumnTagcellorg.extremecomponents.table.cell.Cellcolumn.cell
          ColumnTagfilterCellorg.extremecomponents.table.cell.Cellcolumn.filterCell
          ColumnTagheaderCellorg.extremecomponents.table.cell.Cellcolumn.headerCell
          ColumnTaginterceptorg.extremecomponents.table.intercept.InterceptColumncolumn.intercept
          ExportTaginterceptorg.extremecomponents.table.intercept.InterceptExportexport.intercept
          ExportTagvieworg.extremecomponents.table.view.Viewexport.view
          ExportTagviewResolverorg.extremecomponents.table.filter.ViewResolverexport.viewResolver

          提示:當在寫作本指南的時候,我意識到我忘記了讓標簽ColumnsTag的autoGenerateColumns 屬性和Preferences協同工作。這將在下一版修正。

          1.2. 指定Preference別名

          上表展示了如何聲明preference鍵,但是沒有解釋如何指定有意義的別名。如果你注意到preference鍵提供了一致的語法 tag.attribute,指定鍵的別名僅僅是在它的基礎上進行擴展。它的語法為: tag.attribute.alias

          eXtremeTable提供了一個名為RowCountCell定制的cell,它的作用是現實當前的行數。我將在Preferences里使用ColumnTag cell聲明來示范RowCountCell的使用。

          首先通過實現Cell接口或者擴展AbstractCell來編寫具體的實現類。

          public class RowCountCell extends AbstractCell {
          protected String getCellValue(TableModel model, Column column) {
          int rowcount = ((model.getLimit().getPage() - 1)
          * model.getLimit().getCurrentRowsDisplayed())
          + model.getRowHandler().getRow().getRowCount();
          return String.valueOf(rowcount);
          }
          }

          然后在Preferences (屬性文件)進行聲明并給出別名。eXtremeTable在一個Preferences里保存所有的配置信息,你可以通過使用本地 Preferences的來覆蓋任何的這些屬性。

          RowCountCell默認的別名是rowCount:

          column.cell.rowCount=org.extremecomponents.table.cell.RowCountCell

          在ColumnTag中通過別名引用Cell:

          <ec:column alias="count" cell="rowCount"/>

          現在你可以通過rowCount來引用這個Cell,如果包名改變了你只需要對Preferences進行修改。

          提示:本示例中我使用了ColumnTag的別名屬性。別名屬性應用在有兩列使用同樣的property,也應用在列不直接和列的 bean property關聯的情況下。本示例就屬于這種情況。

          posted on 2006-02-22 18:41 Lucky 閱讀(851) 評論(1)  編輯  收藏 所屬分類: extremeComponents

          評論

          # re: Preferences 指南[未登錄] 2007-01-29 14:46 壞男孩

          我以為訪問注冊表呢!頂  回復  更多評論   

          <2006年2月>
          2930311234
          567891011
          12131415161718
          19202122232425
          2627281234
          567891011

          導航

          隨筆分類(125)

          文章分類(5)

          日本語

          搜索

          積分與排名

          最新隨筆

          最新評論

          主站蜘蛛池模板: 基隆市| 七台河市| 丹寨县| 九龙坡区| 宁明县| 辽源市| 资讯 | 镇远县| 鹤壁市| 民勤县| 武川县| 南乐县| 那曲县| 陆川县| 晋宁县| 扶绥县| 凤阳县| 乡宁县| 乐东| 惠东县| 蒙山县| 怀化市| 章丘市| 阿瓦提县| 电白县| 孝感市| 巴彦淖尔市| 中山市| 东乡县| 桑日县| 阿城市| 泸水县| 苏尼特右旗| 甘德县| 吴忠市| 特克斯县| 社会| 罗源县| 镇江市| 广昌县| 海林市|