Struts標(biāo)簽庫(kù)中的HTML標(biāo)簽
一. Struts標(biāo)簽庫(kù)中的HTML標(biāo)簽
HTML標(biāo)簽庫(kù)主要用來(lái)顯示HTML元素,如果不用這種方法,你就必須用HTML標(biāo)簽來(lái)指定它們。從表面上看,這個(gè)標(biāo)簽庫(kù)很簡(jiǎn)單。但是通過(guò)深入研究,我們就會(huì)發(fā)現(xiàn)它很強(qiáng)大。例如,它可以為我們?cè)贖TML表單的
一個(gè)特定輸入元素中放置重點(diǎn)內(nèi)容生成JavaScript,或?yàn)榭蛻舳溯斎腧?yàn)證生成腳本。而且,你可以用它通過(guò)一行代碼來(lái)處理錯(cuò)誤。然而,在將這個(gè)標(biāo)簽庫(kù)用于你的Struts應(yīng)用程序前,你需要做些簡(jiǎn)單的準(zhǔn)備工作。
配置應(yīng)用程序來(lái)運(yùn)用標(biāo)簽庫(kù)
在運(yùn)用Struts HTML標(biāo)簽庫(kù)前,你需要通過(guò)三個(gè)步驟來(lái)配置一個(gè)Struts應(yīng)用程序。
1. 在部署描述符(web.xml文件)中注冊(cè)標(biāo)簽庫(kù),告訴servlet容器有關(guān)Struts HTML標(biāo)簽庫(kù)的情況,以及在哪里可以找到標(biāo)簽庫(kù)的TLD文件,代碼如下:
/WEB-INF/struts-html.tld
< /TAGLIB-URI>/WEB-INF/struts-html.tld
< /TAGLIB-LOCATION>2. 要確定將struts-html.tld文件復(fù)制到WEB-INF目錄中。你不用擔(dān)心標(biāo)簽庫(kù)類文件,因?yàn)樗鼈円呀?jīng)包含在struts.jar文件中了。
3. 在運(yùn)用標(biāo)簽庫(kù)的每個(gè)JSP頁(yè)面中,插入下面的
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
HTML標(biāo)簽庫(kù)包含幾個(gè)很容易使用的獨(dú)立的標(biāo)簽:
< html:html>標(biāo)簽
< html:html>標(biāo)簽是HTML標(biāo)簽庫(kù)中最容易的標(biāo)簽。它有兩個(gè)屬性:locale和xhtml,兩者都不是必需的。
e.g. HelloWorld-html:
建立一個(gè)JSP頁(yè)面welcome.jsp,輸入如下內(nèi)容:
< %@ taglib uri="/WEB-INF/struts- html.tld" prefix="html" %>
< ?xml:namespace prefix = html />< html:html locale="true">
Hello World!
成的結(jié)果取決于Struts應(yīng)用程序所位于的服務(wù)器的locale。如果你將應(yīng)用程序部署到一個(gè)不同locale的服務(wù)器,你不需要改變代碼。Locale會(huì)自動(dòng)調(diào)整。
< html:base>標(biāo)簽
< html:base>標(biāo)簽顯示一個(gè)HTML元素,用一個(gè)href屬性表示所包含的JSP頁(yè)面的絕對(duì)位置。只有當(dāng)這個(gè)
標(biāo)簽是內(nèi)嵌在一個(gè)head標(biāo)簽部分時(shí),它才有效。e.g. HelloWorld-base:
< %@ taglib uri="/WEB-INF/struts- html.tld" prefix="html" %>
< html:base>< /html:base>
Hello World!
< /html:html>
< html:base>標(biāo)簽會(huì)轉(zhuǎn)換成:
< BASE href="
< html:link>標(biāo)簽
< html:link>標(biāo)簽會(huì)生成一個(gè)超鏈接。
e.g. < html:link page="/index.jsp">Index< /html:link>
會(huì)轉(zhuǎn)換成:Index
< html:errors>標(biāo)簽
< html:errors>標(biāo)簽的易于使用性通常會(huì)掩蓋其真正的強(qiáng)大功能。通過(guò)一個(gè)簡(jiǎn)單的< html:errors>< /html:errors>標(biāo)簽,你就可以在一個(gè)JSP頁(yè)面上顯示完全自定義的錯(cuò)誤信息。這個(gè)標(biāo)簽檢查Request對(duì)象的屬性集合來(lái)查找一個(gè)reserved key。如果它找到一個(gè)reserved key,它就假設(shè)這個(gè)key是一個(gè) String、或是一個(gè)String數(shù)組(它包含在模塊的MessageResources中查找的message keys)、或是類型為org.apache.struts.action.ActionErrors的一個(gè)對(duì)象。
如果在應(yīng)用程序資源中存在相應(yīng)的信息,那么就可以用下面這些可選的message keys:
errors.header:相應(yīng)的信息在錯(cuò)誤信息的單獨(dú)列表前顯示。
errors.footer:相應(yīng)的信息在錯(cuò)誤信息的單獨(dú)列表后顯示。
errors.prefix:相應(yīng)的信息在錯(cuò)誤信息的單獨(dú)列表前顯示。
errors.suffix:相應(yīng)的信息在錯(cuò)誤信息的單獨(dú)列表后顯示。
二. logic 標(biāo)簽
1、定義標(biāo)簽文件(web.xml)
2、引用標(biāo)簽文件(jsp文件)
<%@ taglib uri="/tags/struts-logic" prefix="logic" %>
3、標(biāo)簽文件說(shuō)明(struts-logic.tld)
(1)empty標(biāo)簽
類名:org.apache.struts.taglib.logic.EmptyTag
標(biāo)簽體:bodycontent=JSP
引用logic:empty
屬性 attribute:name,property,scope
功能:判斷對(duì)象的值是否為空
(2)equal
類名:org.apache.struts.taglib.logic.EqualTag
標(biāo)簽體:bodycontent=JSP
引用logic:equal
屬性 attribute:cookie,header,name,parameter,property,scope,value
功能:等于比較符
(3) forward
org.apache.struts.taglib.logic.ForwardTag
標(biāo)簽體:bodycontent=empty
引用logic:forward
屬性 attribute:name
功能:頁(yè)面導(dǎo)向,查找配置文件的全局forward
(4) greaterEqual
類名:org.apache.struts.taglib.logic.GreaterEqualTag
標(biāo)簽體:bodycontent=JSP
引用logic:greaterEqual
屬性 attribute:cookie,header,name,parameter,property,scope,value
功能:大于等于比較符
(5)greaterThan
類名:org.apache.struts.taglib.logic.GreaterThanTag
標(biāo)簽體:bodycontent=JSP
引用logic:greaterThan
屬性 attribute:cookie,header,name,parameter,property,scope,value
功能:大于比較符
(6) iterator
類名:org.apache.struts.taglib.logic.IterateTag
標(biāo)簽體:bodycontent=JSP
引用logic:iterator
屬性 attribute:collection,id,indexId,length,name,offset,property,scope,type
功能:顯示列表為collection的值(List ,ArrayList,HashMap等)
(7)lessEqual
類名org.apache.struts.taglib.logic.LessEqualTag
標(biāo)簽體:bodycontent=JSP
logic:lessEqual
屬性 attribute:cookie,header,name,parameter,property,scope,value
功能:小于等于比較符
(8)lessThan
類名:org.apache.struts.taglib.logic.LessThanTag
標(biāo)簽體:bodycontent=JSP
logic:lessThan
屬性 attribute:cookie,header,name,parameter,property,scope,value
功能:小于比較符
(9)match
類名:org.apache.struts.taglib.logic.MatchTag
標(biāo)簽體:bodycontent=JSP
引用logic:match
屬性 attribute:cookie,header,location,name,parameter,property,scope,value
功能:比較對(duì)象
(10)messagesNotPresent
類名:org.apache.struts.taglib.logic.MessagesNotPresentTag
標(biāo)簽:bodycontent=JSP
引用logic:messagesNotPresent
屬性 attribute:name,property,message
功能:ActionMessages/ActionErrors對(duì)象是否不存在
(11)messagePresent
類名:org.apache.struts.taglib.logic.MessagesPresentTag
標(biāo)簽:bodycontent=JSP
引用logic:messagePresent
屬性 attribute:name,property,message
功能:ActionMessages/ActionErrors對(duì)象是否不存在
(12)notEmpty
類名:org.apache.struts.taglib.logic.NotEmptyTag
標(biāo)簽:bodycontent=JSP
引用logic:notEmpty
屬性 attribute:name,property,scope
功能:比較對(duì)象是否不為空
(13)notEqual
類名:org.apache.struts.taglib.logic.NotEqualTag
標(biāo)簽:bodycontent=JSP
引用logic:notEqual
屬性 attribute:cookie,header,name,parameter,property,scope,value
(14)notMatch
類名:org.apache.struts.taglib.logic.NotMatchTag
標(biāo)簽:bodycontent=JSP
引用logic:notMatch
屬性 attribute:cookie,header,location,name,parameter,property,scope,value
功能:比較對(duì)象是否不相等
(15)notPresent
類名:org.apache.struts.taglib.logic.NotPresentTag
標(biāo)簽:bodycontent=JSP
引用logic:notPresent
屬性 attribute:cookie,header,name,parameter,property,role,scope,user
功能:request對(duì)象傳遞參數(shù)是否不存在
(16)present
類名:org.apache.struts.taglib.logic.PresentTag
標(biāo)簽:bodycontent=JSP
引用logic:present
屬性 attribute:cookie,header,name,parameter,property,role,scope,user
功能:request對(duì)象傳遞參數(shù)是否存在
(17)redirect
類名:org.apache.struts.taglib.logic.RedirectTag
標(biāo)簽:bodycontent=JSP
引用logic:redirect
屬性
attribute:anchor,forward,href,name,page,paramId,paramName,paramProperty,paramScope,property,
scope,transaction
功能;頁(yè)面轉(zhuǎn)向,可傳遞參數(shù)
【編輯推薦】