常用屬性解釋


1、官方網址:

  http://www.displaytag.org/1.2/displaytag/tagreference.html

2、<display:column>介紹:

   顧名思義,該標簽是用來顯示表格中的一列,它只能嵌套在<display:table>標簽中使用,顯示decorator處理后的結果,如果沒有指定decorator,則顯示property屬性指定的數據。

3、常用屬性列表:

 property 主要是用來指明需要顯示的元素的屬性名,同時表格中的列名也就是property的值(沒有title屬性時),但是會以大寫字母開頭。
 title 該屬性用來指定顯示列的標題。如果不指定該屬性,默認的使用property的名字做為該列的標題。
 style  這個是正常表格中的td的style屬性,用來直接定義CSS樣式。
 class 這個是正常表格中的td的class屬性,用來引用CSS。
 headerClass 這個是該列的列名的class屬性,也就是th的class屬性,可以用來控制列標題樣式。
 autolink autolink="true":作用是自能鏈接,可以將郵箱或者網址轉為超鏈接,而不是單純的文本顯示。轉化的結果為:<a href="mailto:xxx">xxx</a>或者<a href="xxx">xxx</a> 還有一點就是它只會將匹配到的郵箱或者網址變成超鏈接,其他的部分(如果有的話,一般是空格分隔的)還是正常的文本顯示。額,好吧最后一點,如果數據量大,這個屬性會有性能損失,因為它需要掃描bean值,來匹配網址和郵箱。。。我不關心性能。。。
 decorator  指向自定義裝飾器的全路徑類名。是ColumnDecorator的子類或者DisplaytagColumnDecorator的子類。
 href 生成動態鏈接,使用href屬性動態構造當前列的各行數據的超連接
 url 生成動態鏈接,包含主機名和根路徑,不能跨域跳轉,也就是只能在項目內跳轉。
 paramId 添加到超鏈接后的參數名,后台根據它來獲取參數值,只能定義一個參數。
 paramProperty 參數值,只能是bean的屬性名,不能直接將參數設置為一個字符串常量。可以用隱藏常量列來達到賦值字符串常量的目的,但是本質還是屬性值。
 paramName bean的名字,默認值null,一般就是指當前行所指向的bean對象。
 paramScope bean的范圍,默認值null,當前bean。
 sortable 默認值false,如果賦值"true":該列具有排序功能,點擊列名即可排序。
 defaultorder 默認值ascending,descending。聲明默認排序是升序還是降序。
 group group="整數":對數據進行分組,可以級聯分組,就像數據庫查詢一樣,不過沒有數據庫的好,因為必須是排序好的,才有級聯效果。否則很糟糕。
 total 默認值是false,沒有統計功能,如果 total="true",就有統計功能,一般是和group一起使用,會對每個分組進行合計,最后總計。實際上更加復雜,<display:table>標簽必須有一個TotalTableDecorator,統計功能才有效果。就算沒有這個Decorator,還可以手動實現統計功能,因為total="true"還有另外一個效果,<display:table>有一個屬性varTotals,它的值是一個Map。key是列序號"column1","column2"...value則是對應每個列的統計結果,具有total="true"的列。所以可以用EL表達式來取到結果,但是有一個限制,這個varTotals變量只能在<display:foot>標簽中使用。
 media 控制該列在某一類型文件中是否導出/顯示。合法值:html,xml,csv,excel。注意可以通過該屬性在網頁上不顯示該列,也就是隱藏列。media="csv xml"就表示不再html網頁上顯示該列,但是在csv和xml導出文件中還是有該列。
 nulls  默認值nulls="false",如果該屬性為null,頁面上不會顯示null,而是為空,如果nulls="true",並且該屬性為null,則顯示null,主要用在測試上的時候。
 maxLength  定義該屬性最大長度,用...代替過長部分
 maxWords  定義該屬性最大字數,用...代替過長部分
 format  格式化顯示bean屬性值,可以使用任意合法的java.text.MessageFormat模式,主要適用於時間和金錢的格式化:
<display:column property="date" format="{0,date,dd-MM-yyyy}" />
<display:column property="money" format="{0,number,000,000,000.00} $" />
 comparator 該列的比較器,指向自定義類的全路徑名,實現Comparator,默認值就是DefaultComparator。實際上應該用不到,一般列的值不是字符串就是數字,如果列的值還是一個對象,那么如何顯示這個對象呢,至少要實現該對象的toString方法。然后才是實現自己的Comparator比較器。
 escapeXml 效果類似於jstl中的<c:out escapeXml="true|false" />,這個屬性大家不一定使用過,不過可以了解一下,<c:out>標簽中該屬性默認值是true,而<display:column>標簽默認值是false,當該屬性為true時,它會自動轉化待顯示的字符串中的特殊字符,比如html中的<,>,',",&,這些字符會轉成實體字符,&lt;&gt;等這樣的結果就是在網頁上原封不動地顯示了原字符串。相反如果該屬性值是false,它是不會做任何轉換的。這樣由瀏覽器顯示的時候,就有可能得到意想不到的結果。
 headerScope 這個是正常表格中th的scope屬性
 scope 這個是正常表格中td的scope屬性
 sortName  根據哪個名稱進行排序
 sortProperty 指的是根據哪個屬性進行排序
 titleKey 顯示標題從資源文件讀取
 value 顯示的值

4、補充說明:

(1)Href屬性和其關聯屬性:

  使用href屬性動態構造當前列的各行數據的超連接。使用paramId來指定附在url字符串后面的參數名稱,而使用paramName或者paramProperty來指定與paramId相關聯的參數值。 如:

  <display:column href="test.do" paramId="id" paramProperty="userId" >${curpage.Name}</display:column>

  將會生成類似於下面的url形式:http://XXX/demo/test.do?id=1(假設該行的userId的值為1)

(2) Sortable屬性和headerClass屬性:

  DisplayTag還提供了一個很有特色的特性,那就是可以針對某一列的數據進行排序,而這只需要指定sortable屬性為true,並指定其headerClass為sortable就可以了。如:

  <display:column property="label" sortable="true" headerClass="sortable"></display:column>
  這樣,就可以通過點擊該列的標題來排序該列的數據了。其中,sortable屬性接受boolean值為合法屬性值,而headerClass為string型的合法值。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM