Struts2 標簽庫

1.1Struts2標簽使用原理解疑

首先收捣,我們能夠打開struts-tags.tld 這個文件進行觀察棉姐,他是Struts2自標簽定義文件屠列。可以看到伞矩,所有標簽定義都是在<taglib></taglib>之間定義笛洛。<tag></tag>用來定義一個具體標簽,同時每個標簽都可以有很多自己的屬性乃坤,這些屬性的定義都是以<attribute></attribute>來定義苛让。
<tlib-version></tlib-version>之間定義的是標簽庫的版本。<jsp-version></jsp-version>定義的是標簽庫支持JSP的哪個版本湿诊。<short-name></short-name>其實是標簽庫的默認名狱杰,<uri</uri>定義的是標簽庫的URL,在JSP中會使用到。<display-name></display-name>是顯示名厅须。<desription></desription>是標簽庫的記述仿畸,記述標簽庫的使用用途等。
<attribute>中<name></name>是屬性名稱定義朗和。<required></required>表示的該屬性是否是必須的屬性错沽,如果必須的則<required></required>之間為true,否則為false。<rtexprvalue></rtexprvalue>表示的是可否使用表達式眶拉,大多數(shù)標簽都是為false千埃。這里不是不能是使用表達式,而是恰恰相反表示可以使用表達式忆植。<description></description>定義和前面介紹相同放可。

1.2 OGNL 表達式語言介紹
OGNL(Object Graph Navigating Language)對象導(dǎo)航語言。

Struts2 中將應(yīng)用范圍中的數(shù)據(jù)以及Action處理的數(shù)據(jù)都存儲在一個區(qū)域中唱逢。Struts2種叫做 " valueStack "吴侦,中文名為:值棧。而OGNL就是從值棧中取出數(shù)據(jù)坞古,并在某些條件下進行數(shù)據(jù)過濾和計算的表達式語言。

在OGNL中常使用? ^ $ 分別對應(yīng)著:all first last.

1.3 Struts2 控制標簽簡介

Struts2的控制標簽主要用處是控制JSP等視圖中流程的轉(zhuǎn)向問題劫樟。這里筆者將一些常用的標簽進行說明痪枫。

1.3.1各個標簽進行說明

append標簽:將多個集合合并成一個集合

generator標簽:使用指定的分隔符將該字符串進行分隔

if、else叠艳、else if 標簽:進行一系列的判斷已達到目的奶陈。

iterator 標簽:對某個集合中所有屬性進行迭代遍歷

merge 標簽:與append標簽功能十分相似,但是集合中各個元素的排列順序是不同 的附较。

sort 標簽:對指定的數(shù)據(jù)集合進行排序或分類吃粒。當然,可以自定義自己的排序或分類條件拒课。

subset 標簽:讀取子集條件將某集合的子集讀取出來徐勃。也可以自定義自己的讀取子集條件事示,這里就不得不引進decider,他就是讀取子集的條件僻肖,可以不寫肖爵,如果寫了,則表明一個Decider對象實例臀脏,需要開發(fā)者自行定義此對象實例劝堪。

1.4 Struts2 數(shù)據(jù)標簽簡介

action標簽:實現(xiàn)在JSP頁面中調(diào)用Struts2的Action。其中ID是需要調(diào)用的Action的標識定義揉稚,name才是Action的名字秒啦,executeResult屬性,它是一個布爾型的值搀玖,如果為true則表示在JSP頁面中返回調(diào)用的Action的結(jié)果視圖帝蒿,反之則不顯示,默認值是false巷怜。還有一個是ignoreContextParams葛超,該屬性是來決定視圖中請求的參數(shù)是否需要傳遞到Action中去。顧名思義延塑,他也是一個布爾型的值绣张,如果為false則需要把參數(shù)傳遞到Action中,反之則不傳遞关带。它的默認值是false侥涵。

bean 標簽:用來創(chuàng)建一個具體的JavaBean實例。其中id是對需要創(chuàng)建的JavaBean實例對象進行標識定義宋雏,name是Javabean的名字芜飘,即類名。在子標簽中可以使用 param 標簽定義一些屬性并賦值磨总。另外嗦明,可以在property標簽中進行顯示迭代。

date 標簽:用來在JSP等視圖界面上顯示日期蚪燕,該日期的格式可以自己定義娶牌,其中id也是對需要顯示的日期進行標識定義,name是日期變量名馆纳。date標簽中還有一個比較特殊的屬性 nice 诗良。 這個是用來輸出當前日期和需要顯示的日期之間的時間差。特別是在開發(fā)需要開發(fā)倒計時這樣的功能時鲁驶,就顯得特別的有用鉴裹。

debug 標簽:給開發(fā)人員提供一個在視圖上調(diào)試代碼的功能。沒有太多,只需要在代碼的前面加上一句:<s:debug />即可径荔。

include 標簽:和JSP中的include功能相同督禽,都是在一個頁面包含另一個頁面文件顯示的內(nèi)容。但是至于在struts.xml中是不是需要再定義一個Action則取決于被包含的頁面上有沒有動態(tài)的數(shù)據(jù)猖凛。

push 標簽:將某個具體的值放在值棧的最頂處赂蠢。id屬性也是對需要放置在值棧棧頂?shù)闹档臉俗R定義。name是該值的名字辨泳。

set 標簽:對一個變量指定一個值虱岂。name屬性是對該變量名字的定義,value屬性就是這個給該變量指定的值菠红。如果不指定第岖,Struts2 是自動將值棧中棧頂?shù)闹抵贫ńo他。

url 標簽:生成一個URL地址试溯。value屬性是指定生成的URL地址蔑滓,但是它只顯示指定的Action或Jsp,而不是把URL的全路徑顯示出來遇绞,而action屬性則是制定URL地址是哪一個action键袱,然后將struts.xml 配置文件中該action的result中指定的路徑全部顯示出來,如果同時顯示定義action摹闽、value蹄咖,則struts2是以value指定為準。如果都不顯示定義付鹿,則以當前視圖界面的URL為指定生成的URL地址澜汤。

1.5 Struts2 表單標簽簡介

這個簡單的就不再說明了,但是有兩個復(fù)雜標簽真是醉生夢死啊舵匾。俊抵。。

doubleselect 和 optiontransferselect ?

太復(fù)雜坐梯。徽诲。。還沒懂

<s:head /> 生成頁面文件的HEAD部分烛缔,生成了對Ajax框架dojo的配置文件的引用或代碼馏段。

<s:token />防止重復(fù)提交一個表單數(shù)據(jù)。

1.6 非表單標簽簡介

大部分都是界面方面的標簽践瓷,這里就不再一一展示了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末亡蓉,一起剝皮案震驚了整個濱河市晕翠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖淋肾,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件硫麻,死亡現(xiàn)場離奇詭異,居然都是意外死亡樊卓,警方通過查閱死者的電腦和手機拿愧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來碌尔,“玉大人浇辜,你說我怎么就攤上這事⊥倨荩” “怎么了柳洋?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長叹坦。 經(jīng)常有香客問我熊镣,道長,這世上最難降的妖魔是什么募书? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任绪囱,我火速辦了婚禮,結(jié)果婚禮上莹捡,老公的妹妹穿的比我還像新娘鬼吵。我一直安慰自己,他們只是感情好道盏,可當我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布而柑。 她就那樣靜靜地躺著,像睡著了一般荷逞。 火紅的嫁衣襯著肌膚如雪媒咳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天种远,我揣著相機與錄音涩澡,去河邊找鬼。 笑死坠敷,一個胖子當著我的面吹牛妙同,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播膝迎,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼粥帚,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了限次?” 一聲冷哼從身側(cè)響起芒涡,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤柴灯,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后费尽,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體赠群,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年旱幼,在試婚紗的時候發(fā)現(xiàn)自己被綠了查描。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡柏卤,死狀恐怖冬三,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情闷旧,我是刑警寧澤长豁,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站忙灼,受9級特大地震影響匠襟,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜该园,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一酸舍、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧里初,春花似錦啃勉、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至刁品,卻和暖如春泣特,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背挑随。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工状您, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人兜挨。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓膏孟,卻偏偏與公主長得像,于是被迫代替她去往敵國和親拌汇。 傳聞我的和親對象是個殘疾皇子柒桑,可洞房花燭夜當晚...
    茶點故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 上篇文章我們介紹struts2標簽庫中的控制標簽的基本使用和部分原理,本篇文章接著了解下標簽庫中有關(guān)數(shù)據(jù)標簽的使用...
    Single_YAM閱讀 1,809評論 0 4
  • 前面幾篇文章我們介紹了有關(guān)struts2的基本內(nèi)容噪舀,簡單理解了整個框架的運作流程幕垦。從本篇開始我們逐漸了解和使用st...
    Single_YAM閱讀 835評論 0 5
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理丢氢,服務(wù)發(fā)現(xiàn)傅联,斷路器先改,智...
    卡卡羅2017閱讀 134,659評論 18 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法蒸走,內(nèi)部類的語法仇奶,繼承相關(guān)的語法,異常的語法比驻,線程的語...
    子非魚_t_閱讀 31,639評論 18 399
  • 最近老公身體也出現(xiàn)了毛病该溯,女兒上次把我嚇了一下,我的身體自從去年底一直沒有很舒適的時候别惦,剛開始耳朵上火狈茉,現(xiàn)在胃部舒...
    你好3306閱讀 164評論 0 0