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

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

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

    像一顆晨土

    常用鏈接

    統(tǒng)計

    blogs

    life

    最新評論

    介紹ExtremeTable的下一代Jmesa

    說到ExtremeTable(以下簡稱ET,呃,,,ET.....),可以說不知道的人甚少.不過估計用的也未必多罷了.今天,給大家介紹一個由ET的作者重新實現(xiàn)的一套關(guān)于Table的API.JMesa.
    我是一個偶然的機(jī)會知道Jmesa,我在做一個數(shù)據(jù)展現(xiàn)系統(tǒng)的時候想尋找ET的幫忙,但發(fā)現(xiàn)ET己不再更新,作者把精力轉(zhuǎn)移到了新的項目中,也就是這個 JMesa.這個項目的目的是為開發(fā)者提供更有效的表格展現(xiàn)的API,而不是簡單的TagLib.無論從靈活性,易擴(kuò)展性,易用性,均比ET上了一個層 次.最近Release的版本里面,并不包括TagLib.而在下一個版本(2.1.0)將會加入TagLib,目前TagLib己經(jīng)可用,在SVN里已 有.只是等待下一個版本的發(fā)布,其間會有一些更新,不過會兼容目前的TagLib的.
    假如我從API開始介紹JMesa,恐怕并不是個好的辦法,像我以前的文章里面有介紹,結(jié)果反響不大.這次決定從TagLib入手,來給大家介紹一下Jmesa.
    大家可以從附件里拿到一個Demo.注意Demo依賴JMesa以及其他Lib.在Lib文件夾下有詳細(xì)說明.
    現(xiàn)在來看看JMesa的使用:
    1. <jm:table id="product" items="products" caption="product listing">  
    2.     <jm:column property="name" sortable="true" filterable="true"/>  
    3.     <jm:column property="price" />  
    4.     <jm:column property="createdTime" />  
    5.     <jm:column property="id" title="edit">  
    6.         <a href="viewProduct.action?id="<jm:property/>"><jm:property name="name"/></a>  
    7.     </jm:column>  
    8. </jm:table>  

    估計比較容易看得懂的代碼吧.
    Jmesa 的檢簽規(guī)范當(dāng)中只有三個Tag:Table,Row,Column.而當(dāng)前的TagLib實現(xiàn)中只實現(xiàn)了Table和Column兩個(Row是可選 的).另加一個Property的Tag.此階段,Property的Tag是很有用的,其起到的作用與Webwork的PropertyTag相差無 幾, 用來獲得對象的某個屬性.之所以使用Property Tag是因為當(dāng)前的TagLib有個限制就是暫時不支持如JSTL的${}這種寫法.將來會支持,屆時Property Tag也會繼續(xù)獲得兼容.Jeff比較傾向于使用迭代的方式實現(xiàn)Tag,那樣可以支持${}這樣的寫法.不過作為TagLib的開始,問題不大.有時間再 重構(gòu)一下TagLib,支持JSTL的寫法.
    好了,來說一說這些Tag的使用方法:
    Table:
    Attribute Description
    id 表格的ID(必須)
    items 對象或者M(jìn)ap的集合 (必須)
    caption 表格的標(biāo)題
    theme 表格的主題,自定義樣式
    exportTypes 使用逗號分割導(dǎo)出的類型,目前支持導(dǎo)出類型有CSV,Excel
    width 表格寬度
    style 即表格的Style屬性
    styleClass 使用的Css的Class名字
    border 表格寬
    cellpadding 表格屬性
    cellspacing 表格屬性
    實際上,真正Release的版本里面將會加上var以及Limit屬性.
    var屬性值即在Column標(biāo)簽里可以獲得的對象變量.
    Limit屬性是保存在當(dāng)前請求的Limit的對象名.
    Row:
    Attribute Description
    highlighter 是否高亮顯示
    onclick 點(diǎn)擊事件
    onmouseout 鼠標(biāo)移出事件
    onmouseover 鼠標(biāo)移入事件
    該Tag是可選的.實際上Jmesa提供了一系列默認(rèn)的事件響應(yīng),有必要的情況下才使用.
    Column:
    Attribute Description
    property Java對象或Map的屬性名
    title 列的名稱
    filterable 是否可按過濾條件查找
    sortable 是否要排序
    width 列寬
    style Style屬性
    styleClass 使用的Css的Class的名字
    ColumnTag的使用方法有下面幾種:
    1. <jm:column property="name"/>  

    將僅僅輸出對象中Name屬性值.列名是Name
    1. <jm:column property="name" title="名字" sortable="true" filterable="false"/>  

    這樣可以得到自定義的列名,可以讓列可查找,可排序,當(dāng)然你Server端需要相應(yīng)提供排序及查找功能.不過就算你不提供,客戶端也會把當(dāng)前結(jié)果排序和查找的.
    1. <jm:column property="id" title="edit">   
    2.     <a href="viewProduct.action?id="<jm:property/>"><jm:property name="name"/></a>   
    3. </jm:column>    

    這里結(jié)合了PropertyTag.實現(xiàn)自定義列顯示.可以靈活定制自己的單元格.
    在ColumnTag里面,使用PropertyTag的時候,可以指定Name屬性,如果不指定則使用當(dāng)前Column的Property屬性值.
    以后將支持:
    1. <jm:column property="id" title="edit">   
    2.     <a href="viewProduct.action?id=${id}">${name}</a>   
    3. </jm:column>    
    這樣的寫法.當(dāng)然會繼續(xù)兼容PropertyTag,盡管不是Tag規(guī)范里的東西.

    相信經(jīng)過上面的一番介紹,大家對Jmesa有一定的感性認(rèn)識了吧.還沒有?下載Demo,扔進(jìn)Tomcat 的App里跑一下就明白了.
    有什么建議,請一定要告訴我 :).

    附件在:http://www.javaeye.com/topics/download/4eaaa38d-e838-459d-aef2-3be6c4d043df

    posted on 2007-08-01 01:31 艾塵 閱讀(7200) 評論(11)  編輯  收藏 所屬分類: pick up

    評論

    # re: 介紹ExtremeTable的下一代Jmesa 2007-08-01 09:15 aaa

    可以編輯單元格嗎  回復(fù)  更多評論   

    # re: 介紹ExtremeTable的下一代Jmesa 2007-08-01 09:20 dreamstone

    不錯,可以試試。  回復(fù)  更多評論   

    # re: 介紹ExtremeTable的下一代Jmesa[未登錄] 2007-08-01 10:40 小天

    不能跑耶,我用tomcat5.0.28 , jdk1.5去跑,是不行的,出現(xiàn)如下訊息
    「javax.servlet.ServletException: Bad version number in .class file
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:244)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


    不知是否還有其它人 跟我一樣  回復(fù)  更多評論   

    # re: 介紹ExtremeTable的下一代Jmesa 2007-08-01 15:15 LeeYue_0530@hotmail.com

    比Display tag 略強(qiáng)一點(diǎn),但是原理還是一樣的,對打數(shù)據(jù)量的分頁,還是沒有現(xiàn)成的處理機(jī)制。還是需要手工實現(xiàn)。  回復(fù)  更多評論   

    # re: 介紹ExtremeTable的下一代Jmesa[未登錄] 2007-08-01 15:53 jeff

    只要不是邏輯分頁。不管是什么,總得自己在Server端分頁的。
    樓上說的不需要手工實現(xiàn)分頁,是否有理想的代碼模型可以看看?  回復(fù)  更多評論   

    # re: 介紹ExtremeTable的下一代Jmesa 2007-08-02 10:23 Tin

    ExtremeTable很早就實現(xiàn)自定義分頁實現(xiàn)了,可以自己處理分頁邏輯,和Display Tag的基于集合的不同呀。Jmesa既然是下一代應(yīng)該也支持吧。
    Jeff Johnston這個人非常聰明勤奮,它的項目一般都是非常活躍的,以后一定會越來越好。  回復(fù)  更多評論   

    # re: 介紹ExtremeTable的下一代Jmesa 2007-10-19 01:23 nap

    最近一直在用extremetable 1.0.1,后來出了個1.0.3,但發(fā)現(xiàn)好象要jdk1.5,公司一直jdk1.4.2就放棄了。
    在google中搜extremetable的時候把我?guī)У搅薺mesa,新的這個應(yīng)該也是1.5的吧?
    曾經(jīng)本機(jī)跑了一下,印象中extremetable原來文本框的過濾控件感覺很好用,結(jié)果jmesa好象換成下拉的什么東西了,點(diǎn)著點(diǎn)著偶爾好象失靈了,可能是bug。記不清了。反正jmesa印象一般啊。
    現(xiàn)在在想辦法把extremetable 1.0.1用好!某些地方還有疑惑。以后留言再請教樓主吧。
    喜歡歸喜歡,但擔(dān)心還是有的,這個項目是一個人維護(hù)的,作者萬一中途留下一個還有bug的release就忙別的工作去了,會給公司項目帶來某些小風(fēng)險吧,我又不牛,發(fā)現(xiàn)bug也不知道怎么改,那樣就郁悶死了。哈哈。  回復(fù)  更多評論   

    # re: 介紹ExtremeTable的下一代Jmesa 2007-12-24 10:12 jwd456

    @小天
    我的你的情況一樣!  回復(fù)  更多評論   

    # re: 介紹ExtremeTable的下一代Jmesa 2008-05-06 08:39 彭勇

    我在使用過程中出現(xiàn)以下錯誤.請幫忙看哈
    0 [http-8080-Processor2] DEBUG org.jmesa.limit.LimitActionFactoryImpl - Defaulting to Page 1
    63 [http-8080-Processor2] DEBUG org.jmesa.core.ItemsImpl - org.jmesa.limit.LimitImpl@ecd92c[id=accountList,export=<null>,rowSelect=org.jmesa.limit.RowSelectImpl@fccada[page=1,maxRows=15,rowEnd=15,rowStart=0,totalRows=132],filterSet=org.jmesa.limit.FilterSetImpl@69ed4a[],sortSet=org.jmesa.limit.SortSetImpl@59cbda[]]
    78 [http-8080-Processor2] ERROR org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/Demo].[debugjsp] - Servlet.service() for servlet debugjsp threw exception
      回復(fù)  更多評論   

    # re: 介紹ExtremeTable的下一代Jmesa 2008-05-06 08:41 彭勇

    請幫忙解釋哈
    mesa:tableFacade id="accountList" items="${Accounts}" var="bean"

    id代表是什么
    items代表是什么
    var代表是什么
    能否解釋詳細(xì)點(diǎn)!!
    小弟不勝感激。
      回復(fù)  更多評論   

    # re: 介紹ExtremeTable的下一代Jmesa 2009-08-01 15:21 zeus

    Jmesa的首頁是什么?  回復(fù)  更多評論   

    主站蜘蛛池模板: 国产99久久久久久免费看| 亚洲午夜久久久影院| 59pao成国产成视频永久免费| 在线观看亚洲网站| 亚洲另类古典武侠| 亚洲av无码一区二区三区乱子伦| 免费a级毛片18以上观看精品| 99热在线精品免费全部my| 久久久久久久久久国产精品免费 | 一级毛片在线完整免费观看| 亚洲日本乱码卡2卡3卡新区| 久久久久亚洲精品美女| 精品亚洲视频在线观看| 国产成人免费a在线视频色戒| 无人影院手机版在线观看免费| 6080午夜一级毛片免费看| 国产成人一区二区三区视频免费| 久草免费福利在线| 一区二区在线免费视频| 搜日本一区二区三区免费高清视频| 亚洲人成色99999在线观看| 亚洲av无码一区二区三区观看| 亚洲综合综合在线| 亚洲最大免费视频网| 日韩精品亚洲人成在线观看| 亚洲国产高清人在线| 亚洲免费在线视频| 久久亚洲AV成人出白浆无码国产| 亚洲AV无码久久精品狠狠爱浪潮| 亚洲精品你懂的在线观看| 国产成人精品日本亚洲专区61 | 国产一级a毛一级a看免费视频| 日韩成人毛片高清视频免费看| 黄色大片免费网站| 成人a毛片视频免费看| 一级免费黄色毛片| 韩国免费a级作爱片无码| 91视频免费观看| 久9久9精品免费观看| 亚洲无砖砖区免费| 黄瓜视频高清在线看免费下载|