




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
-1-了解Struts2標(biāo)簽庫的組成了解值棧的概念掌握OGNL表達(dá)式語法掌握OGNL集合表達(dá)式掌握數(shù)據(jù)標(biāo)簽的使用掌握控制標(biāo)簽的使用了解主題和模板概念及使用掌握表單標(biāo)簽的使用掌握非表單標(biāo)簽的使用目標(biāo)-2-Struts2標(biāo)簽庫概述使用標(biāo)簽的優(yōu)勢:使用簡單可維護(hù)性強(qiáng)復(fù)用性高標(biāo)簽庫分類:-3-導(dǎo)入Struts2標(biāo)簽庫在JSP頁面中使用Struts2標(biāo)簽庫中提供的標(biāo)簽,必須使用taglib指令導(dǎo)入Struts2標(biāo)簽庫prefix屬性指定標(biāo)簽的前綴,此處指定標(biāo)簽的前綴為“s”,即使用Struts2標(biāo)簽庫中的任一標(biāo)簽時,前面都應(yīng)加上“s:”,例如“<s:property>”uri屬性指定標(biāo)簽庫描述文件的路徑,此處設(shè)為“/struts-tags”,與struts-tags.tld文件中的默認(rèn)uri一致,使JSP頁面具有更好的兼容性<%@taglibprefix="s"uri="/struts-tags"%>-4-OGNL與值棧對象圖導(dǎo)航語言 ObjectGraphNavigationLanguage,
是Struts2框架默認(rèn)的表達(dá)式語言值棧中的對象:臨時對象模型對象action對象-5-OGNL語法根對象的屬性直接訪問非根對象的屬性使用“#”訪問
在Struts2框架中,ValueStack對象是OGNL的根對象,所以ValueStack中對象的屬性可以直接訪問訪問其他對象,必須使用“#”parameters對象:用于訪問HTTP請求參數(shù)。例如,#相當(dāng)于調(diào)用HttpServletRequest對象的getParameter("name")方法request對象:用于訪問HttpServletRequest屬性,例如,#相當(dāng)于調(diào)用getAttribute("name")方法session對象:用于訪問HttpSession對象,例如,#相當(dāng)于調(diào)用getAttribute("name")方法application對象:用于訪問ServletContext對象,例如,#相當(dāng)于調(diào)用ServletContext的getAtrribute("name")方法attr對象:用于按照>request-->session-->application順序訪問其屬性-6-OGNL集合表達(dá)式ListMapin: 某個元素是否在指定的集合對象中notin: 某個元素是否不在指定的集合對象中?: 獲得所有符合邏輯的元素^: 獲得符合邏輯的第一個元素$: 獲得符合邏輯的最后一個元素{e1,e2,e3…}#{key1:value1,key2:value2,}-7-數(shù)據(jù)標(biāo)簽數(shù)據(jù)標(biāo)簽主要用來提供各種數(shù)據(jù)訪問功能標(biāo)簽名描述action該標(biāo)簽用來直接調(diào)用一個Action,根據(jù)executeResult參數(shù),可以將該Action的處理結(jié)果包含到頁面中bean該標(biāo)簽用來創(chuàng)建一個JavaBean對象date該標(biāo)簽用來格式化輸出一個日期屬性debug該標(biāo)簽用來生成一個調(diào)試鏈接,當(dāng)點擊該鏈接時,可以看到當(dāng)前值棧中的內(nèi)容i18n該標(biāo)簽用來指定國際化資源文件的baseNameinclude該標(biāo)簽用來包含其他的頁面資源param該標(biāo)簽用來設(shè)置參數(shù)property該標(biāo)簽用來輸出某個值,該值可以是值?;駻ctionContext中的值push該標(biāo)簽用來將某個值放入值棧set該標(biāo)簽用來設(shè)置一個新的變量,并把新變量存儲到特定的范圍中text該標(biāo)簽用來輸出國際化信息url該標(biāo)簽用來生成一個特定的URL-8-property標(biāo)簽property標(biāo)簽的作用是輸出指定值輸出value屬性指定的值,如果沒有指定value屬性,則默認(rèn)輸出ValueStack棧頂?shù)闹凳纠?.1regsuccess.jsp屬性名是否必須描述default否如果輸出的屬性值為null,則顯示default屬性指定的值escape否默認(rèn)為true,即不解析HTML標(biāo)簽,如果設(shè)定為false則默認(rèn)解析HTML標(biāo)簽value否指定需要輸出的屬性值,如果沒有指定該屬性,則默認(rèn)輸出ValueStack棧頂?shù)闹礽d否指定該元素的標(biāo)識-9-param標(biāo)簽param標(biāo)簽主要用于為其他標(biāo)簽提供參數(shù)屬性名是否必須描述name否指定被設(shè)置參數(shù)的參數(shù)名value否指定被設(shè)置參數(shù)的參數(shù)值,該值為Object類型id否指定引用該元素的ID<s:paramname="user">zhangsan</s:param><s:paramname="user"value="zhangsan"/><s:paramname="user"value="zhangsan"/>-10-bean標(biāo)簽bean標(biāo)簽主要用于創(chuàng)建一個JavaBean的實例屬性名是否必須描述name是該屬性指定要實例化的JavaBean實現(xiàn)類id否如果指定了該屬性,則JavaBean實例就會放入OgnlContext對象中,從而允許直接通過該id屬性來訪問該JavaBean實例。如果不指定id屬性,JavaBean實例則被放置在值棧中<s:beanname="com.dh.ch04.model.Person"> <s:paramname="name"value="'zhangsan'"/> <s:paramname="age"value="18"/>
姓名為:<s:propertyvalue="name"/><br/>
年齡為:<s:propertyvalue="age"/></s:bean><s:beanname="com.dh.ch04.model.Person"id="p"> <s:paramname="name"value="'zhangsan'"/> <s:paramname="age"value="18"/></s:bean>姓名為:<s:propertyvalue="#"/><br/>年齡為:<s:propertyvalue="#p.age"/>-11-set標(biāo)簽set標(biāo)簽主要用于將某個值放入指定的范圍內(nèi)<s:setname="p1"value="#p"/><s:setname="p2"value="#p"scope="application"/><s:setname="p3"value="#p"scope="session"/>屬性名是否必須描述name是設(shè)置變量的名稱scope否用來指定變量的有效范圍,該屬性值可以是application、session、request、page或action。如果沒有指定該屬性,則默認(rèn)將該變量放置在OgnlContext中value否用來設(shè)置變量的值,如果沒有指定該屬性,則將ValueStack棧頂?shù)闹蒂x給該變量id否該屬性指定該元素的應(yīng)用ID-12-include標(biāo)簽include標(biāo)簽主要用于將一個JSP頁面或一個Servlet包含到本頁面中
<%@pagelanguage="java"contentType="text/html;charset=UTF-8"
pageEncoding="UTF-8"%><%@taglibprefix="s"uri="/struts-tags"%><html><head><metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"><title>include標(biāo)簽</title></head><body>
<s:includevalue="file.jsp"/></body></html>屬性名是否必須描述value是該屬性指定需要被包含的JSP頁面或Servletid否該屬性指定該元素的應(yīng)用ID-13-url標(biāo)簽url標(biāo)簽主要用于生成一個URL地址屬性名是否必須描述action否指定生成的URL地址為哪個Action,如果action沒有提供值,就使用value作為URL的地址值value否指定生成URL的地址值,如果value沒有提供值,就使用action屬性指定的Action作為URL地址includeParams否指定是否包含請求參數(shù),該屬性的值可為none、get或allscheme否設(shè)定scheme屬性namespace否指定命名空間,與action結(jié)合使用,而與value結(jié)合使用時沒有意義method否指定使用Action的方法encode否指定是否需要對請求參數(shù)進(jìn)行編碼includeContext否指定是否需要將當(dāng)前上下文包含在URL地址中anchor否指定URL的錨點id否指定該url元素的引用ID,使用該屬性時,生成的URL不會在頁面上輸出,但可以引用escapeAmp否指定是否將特殊符號“&”解析成實體“&”-14-控制標(biāo)簽數(shù)據(jù)標(biāo)簽主要用于完成流程控制,例如分支、循環(huán)等操作,也可以完成對集合的合并、排序等操作
標(biāo)簽名描述if該標(biāo)簽用于控制選擇輸出elseIf/elseif該標(biāo)簽同if標(biāo)簽結(jié)合使用,用來控制選擇輸出else該標(biāo)簽同if標(biāo)簽結(jié)合使用,用來控制選擇輸出append該標(biāo)簽用于將多個集合拼接成一個集合generator該標(biāo)簽是一個字符串解析器,用來將一個字符串解析成一個集合iterator該標(biāo)簽是一個迭代器,用來迭代輸出集合中的數(shù)據(jù)merge該標(biāo)簽用于將多個集合拼接成一個集合,在使用方式上與append有區(qū)別sort該標(biāo)簽用于對集合進(jìn)行排序subset該標(biāo)簽用于截取集合的部分集合,形成新的子集合-15-if/elseif/else標(biāo)簽if、elseif、else這3個標(biāo)簽都用來進(jìn)行分支控制。其中,if和elseif標(biāo)簽利用test屬性的值來決定是否計算并輸出標(biāo)簽體的內(nèi)容
<!--判斷成績是否及格,不及格,良,優(yōu)--><s:setname="score"value="99"/><s:iftest="%{#score<60}">
成績?yōu)椋翰患案?lt;/s:if><s:elseiftest="%{#score>=60&score<80}">
成績?yōu)椋杭案?lt;/s:elseif><s:elseiftest="%{#score>=80&score<90}">
成績?yōu)椋毫?lt;/s:elseif><s:else>
成績?yōu)椋簝?yōu)</s:else>示例4.7if-elseif-else.jsp
-16-iterator標(biāo)簽iterator標(biāo)簽主要用于對集合進(jìn)行迭代,其中集合類型可以是List、Set、Map或數(shù)組<tableborder=1width=200> <s:iteratorvalue="{'JavaSE程序設(shè)計教程', 'JavaEE輕量級框架-S2SH', 'JavaWeb程序設(shè)計'}"id="bookName"> <tr> <td><s:propertyvalue="bookName"/></td> </tr> </s:iterator></table>屬性名是否必須描述value否指定迭代集合,通常使用OGNL表達(dá)式指定。如果沒有指定value屬性,則使用ValueStack棧頂?shù)募?/p>
id否指定集合中元素的IDstatus否指定迭代時的IteratorStatus實例,用于獲取迭代狀態(tài)示例4.8iterator.jsp
-17-主題和模板模板是一個標(biāo)簽的顯示風(fēng)格
多個模板構(gòu)成一個主題Struts2框架默認(rèn)主題:通過下面幾種方式使用主題:通過設(shè)定特定UI標(biāo)簽中的theme屬性來指定主題通過設(shè)定特定UI標(biāo)簽外圍form標(biāo)簽的theme屬性來指定主題通過取得page范圍內(nèi)名稱為theme的屬性值來確定主題通過取得request范圍內(nèi)名稱為theme的屬性值來確定主題通過取得session范圍內(nèi)名稱為theme的屬性值來確定主題通過取得application范圍內(nèi)名稱為theme的屬性值來確定主題通過取得名為struts.ui.theme的常量值來確定主題,該常量默認(rèn)值為xhtml,可以在struts.xml或perties文件中配置-18-表單標(biāo)簽數(shù)據(jù)標(biāo)簽主要用于進(jìn)行
數(shù)據(jù)的輸入和用戶交互等操作Struts2提供了很多表單標(biāo)簽,
大部分表單標(biāo)簽和
HTML表單元素之間一一對應(yīng)
CheckboxlistComboboxFileFormHiddenselectoptiontransferselectradiooptgrouptokenTextareapasswordtextfiledsubmitreset-19-checkboxlist標(biāo)簽checkboxlist標(biāo)簽可以一次創(chuàng)建多個復(fù)選框<!--使用簡單集合對象生成多個復(fù)選框--><s:checkboxlistname="books"labelposition="top"label="選擇您喜歡的圖書" list="{'JavaSE程序設(shè)計教程','JavaEE輕量級框架-S2SH','JavaWeb程序設(shè)計'}"/><!--使用簡單Map對象生成多個復(fù)選框--><s:checkboxlistname="books1"labelposition="top"label="請選擇圖書的出版日期" list="#{'JavaSE程序設(shè)計教程':'2010年7月', 'JavaEE輕量級框架-S2SH':'2010年8月', 'JavaWeb程序設(shè)計':'2010年9月'}" listKey="key"listValue="value"/>示例4.9checkboxlist.jsp
屬性名是否必須描述list是指定集合屬性值。如果list屬性為一個Map類型(key-value對),在默認(rèn)情況下,key賦值給標(biāo)簽的value,value則對應(yīng)標(biāo)簽的LabellistKey否指定集合元素中的某個屬性作為復(fù)選框的value。如果集合為Map類型則可以使用key和value分別代表Map對象的key和value作為復(fù)選框的valuelistValue否指定集合元素中的某個屬性作為復(fù)選框的label。如果集合為Map類型則可以使用key和value分別代表Map對象的key和value作為復(fù)選框的Label-20-optiontransferselect標(biāo)簽optiontransferselect標(biāo)簽創(chuàng)建兩個選擇項以及轉(zhuǎn)移下拉列表項
<s:optiontransferselectlist="{'會計','出納','倉庫管理員'}" headerKey="headerKey"headerValue="請選擇"doubleHeaderValue="請選擇"doubleHeaderKey="doubleHeaderKey"name="leftRecords"leftTitle="未選角色" rightTitle="已選角色"doubleList="'總經(jīng)理','董事長'"doubleName="rightRecords"/>示例4.10optiontransferselect.jsp
-21-optgroup標(biāo)簽optgroup標(biāo)簽生成一個下拉列表框的選項組<s:selectlabel="請選擇"name="select"list="{'開發(fā)工具','Web應(yīng)用'}"><s:optgrouplabel="開發(fā)語言" list="#{'Java':'Java','C#':'C#','C++':'C++','Dephi':'Dephi'}"/><s:optgrouplabel="技術(shù)圖書"list="#{'JavaSE程序設(shè)計教程':'JavaSE程序設(shè)計教程','JavaEE輕量級框架-S2SH':'JavaEE輕量級框架-S2SH','JavaWeb程序設(shè)計':'JavaWeb程序設(shè)計'}"/></s:select>示例4.11optgroup.jsp
-22-非表單標(biāo)簽非表單標(biāo)簽用來生成頁面中不存在于表單中的可視化元素標(biāo)簽名描述actionerror該標(biāo)簽用來輸出Action中g(shù)etActionErrors()方法返回的異常信息actionmessage該標(biāo)簽用來輸出Action中g(shù)etActionMessage()方法返回的信息component該標(biāo)簽用來生成一個自定義組件div該標(biāo)簽用來生成一個div片段fielderror該標(biāo)簽用來輸出異常提示信息,如果Action實例存在表單域的類型轉(zhuǎn)換錯誤,校驗錯誤,該標(biāo)簽負(fù)責(zé)輸出這些信息tabbedPanel該標(biāo)簽用來生成HTML頁面中的Tab頁tree該標(biāo)簽用來生成一個樹形結(jié)構(gòu)treenode該標(biāo)簽用來生成樹形結(jié)構(gòu)的節(jié)點-23-
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 環(huán)保行業(yè)運(yùn)營流程優(yōu)化作業(yè)指導(dǎo)書
- 護(hù)師及主管護(hù)師練習(xí)卷含答案
- 奶茶店品牌評估營銷手冊
- 項目開發(fā)進(jìn)度管理與計劃安排
- 分析法律制定中權(quán)利約束邊界
- 員工培訓(xùn)計劃與實施細(xì)則
- 醫(yī)療敷料貼合度提高方法
- 三農(nóng)村環(huán)境治理綜合方案
- 豪客來服務(wù)質(zhì)量調(diào)查
- 游戲美術(shù)行業(yè)的數(shù)字化設(shè)計與制作工具應(yīng)用方案
- 2025年高考作文素材積累之《人民日報》4篇經(jīng)典時評結(jié)構(gòu)賞析
- 衛(wèi)星定位導(dǎo)航原理知到智慧樹章節(jié)測試課后答案2024年秋哈爾濱工業(yè)大學(xué)
- 研究生學(xué)術(shù)英語寫作 課件 Chapter 7 Abstract;Chapter 8 Citation and Reference
- ISO45001管理體系培訓(xùn)課件
- 心力衰竭患者利尿劑抵抗診斷及管理中國專家共識2024解讀
- 主任臨床查房程序規(guī)范及評分標(biāo)準(zhǔn)
- 《望海潮》《揚(yáng)州慢》導(dǎo)學(xué)案(含答案) 統(tǒng)編版高中語文選擇性必修下冊
- 土壤有機(jī)質(zhì)的測定 編制說明
- 蔣詩萌小品《誰殺死了周日》臺詞完整版
- 醫(yī)美機(jī)構(gòu)轉(zhuǎn)讓合同模板
- 全國基層退役軍人服務(wù)中心(站)工作人員職業(yè)技能競賽考試題庫-上(單選、多選題)
評論
0/150
提交評論