display tag lib是乙個標籤庫,用來處理jsp網頁上的table,功能非常強,可以對的table進行分頁、資料匯出、分組、對列排序等等。具體的說明請參考display tag的官方**http://displaytag.sourceforge.net。
配置類庫標籤
displaytag使用了兩個標籤,displaytag-1.1.tld和fmt.tld。使用了servlet2.4以前的版本,需要在web.xml中配置。
兩個標籤中,displaytag-1.1.tld是displaytag的官方標籤,另外fmt.tld的標籤作用是為了顯示中文而設定的。
構造頁面顯示的list
displaytag能夠在request和session範圍內獲得相關的list。所有的資料必須從list中獲得。
1.單錶查詢結果集
list userlist=gethibernatetemplate().find(「from user」);
request.setattribute(「userlist」, userlist);
2.多表查詢結果集
list usercustomerlist=gethibernatetemplate().find(「select new myobject(user.name,user.no…..) from user,customer」);
request.setattribute(「usercustomerlist」,」 usercustomerlist」);
要先定義好
myobject
這個class
,並且有
new myobject(….)
建構函式
3.以上兩種方法每次在翻頁時,都是對所有查詢結果進行一次查詢,如果想實現每次只查詢
10條資料,則需要自己構造
sql執行。
displaytag
提供了一些變數
.string strpage = request.getparameter("page");
string strdir = request.getparameter("dir");
string strsort = request.getparameter("sort");
action從request裡面獲得這三個引數,都是displaytag自動生成的,使用者無需管理這三個引數。
頁面基本組成
1.要引入標籤
2.在頁面上使用
displaytag標籤
1)最簡單的情況
標籤遍歷
list
裡的每乙個物件,並將物件裡的所有屬性顯示出來。一般用於開發的時候檢查物件資料的完整性。
2) 使用
標籤的情況
property
對應list
裡物件的屬性(用
get***()
方法取得),
title
則對應**表頭里的列名。定義列有兩種方式:
a、使用標籤裡的
property
屬性來定義
在標籤體裡增加內容,可以是常量,也可以用其他標籤等等
兩種方式比較,用
property
屬性來定義更加快速和利於排序
3) **顯示樣式的定義a、在
和標籤裡指定標準的
html
屬性 style=」……」>
style=」……」/> b
、修改樣式表
class="mars">
class="idcol"/>
通過class
屬性來指定所要應用的樣式
(自己定義的樣式
)。也還可以在其預設樣式表裡(
./css/screen.css
)直接修改
4) 標籤取得資料的資料來源
有四種範圍
pagescope
requestscope (預設)
sessionscope
注意,這裡要指定範圍,非預設
5)通過增加id
屬性建立隱含的物件
id="row" name="mylist">
$-$
注意到在
裡增加了
id屬性,這時就在
page context
裡建立了乙個隱含物件,指向
list
裡的當前物件
; 同時還建立了乙個
id_rownum物件,
它僅僅代表當前行的行數。
Displaytag的使用五
裝飾器類 多選框 需要displaytagcolumndecoratorl類 用於豐富displaytag列顯示的功能,在 中顯示一列checkbox public class checkbox implements displaytagcolumndecorator public class hr...
關於displaytag的學習
1 基於displaytag的分頁方案 displaytag說明 構造頁面顯示的list displaytag能夠在request和session範圍內獲得相關的list。所有的資料必須從list中獲得。1.單錶查詢結果集 list userlist gethibernatetemplate fin...
發乙個displayTag的新樣式
displaytag是非常常用的乙個 標籤,但是它的樣式卻有點呆板,最近客戶就對它的樣式極為不滿,讓我們改進,沒辦法,客戶就是上帝,只能照辦。原樣式如下 修改後如下 其實主要就是修改了其自帶的display.css這個樣式表,如下 原display.css table.t1 th tr.odd tr...