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