欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Struts標記庫
JSP視窗組件所使用的struts標記庫由四類(lèi)標記組成:
2. Bean標記:用來(lái)在JSP頁(yè)中管理bean
3. 邏輯標記:用來(lái)在JSP頁(yè)中控制流程
4. HTML標記:用來(lái)生成HTML標記,在表單中顯示數據,使用會(huì )話(huà)ID對URL進(jìn)行編程
5. 模板標記:使用動(dòng)態(tài)模板構造普通格式的頁(yè)
2.1 Bean標記
這個(gè)標記庫中包含用于定義新bean、訪(fǎng)問(wèn)bean及其屬性的標記。Struts框架提供了多種自定義標記用來(lái)在JSP頁(yè)中處理JavaBean。這些標記被封裝在一個(gè)普通的標記庫中,在文件struts-bean.tld中定義了它的標記庫描述器。Bean標記庫將標記定義在四個(gè)子類(lèi)別中:
創(chuàng )建和復制bean的標記
腳本變量定義標記
bean翻譯標記
消息國際化標記
2.1.1 Bean復制標記
可定義新bean,可復制現有bean,還可從現有bean復制屬性。
<bean:define>標記用來(lái):
定義新字符串常數
將現有的bean復制到新定義的bean對象
復制現有bean的屬性來(lái)創(chuàng )建新的bean
<bean:define>標記屬性:
屬性描述Id 新定義的bean腳本變量名稱(chēng),必須設置Type 定義引入腳本變量的類(lèi)Value 為id屬性定義的腳本變量分配一個(gè)新的對象Name 目標bean的名稱(chēng)。若value屬性沒(méi)有設置,這個(gè)屬性就必須設置property Name屬性定義的bean的屬性名稱(chēng),用來(lái)定義新的bean
13
Scope 源bean的作用域。若沒(méi)有設置,搜索范圍是從頁(yè)作用域到應用程序作用域toScope 目標bean的作用域。若沒(méi)有設置,默認值是頁(yè)作用域
例如:定義一個(gè)bean:
<bean:define id=”test” value=”this is a test”/>
源bean在頁(yè)作用域中被拷貝大哦請求作用域中的另一個(gè)bean:
<bean:define id=”targetBean” name=”sourceBean”
scope=”page” toScope=”request”/>
2.1.2 定義腳本變量的標記
從多種資源中定義和生成腳本變量,這些資源包括cookie,請求參數,HTTP標頭等等。屬性如下:
屬性描述Id 腳本變量和要定義的頁(yè)作用域屬性的名稱(chēng)Name cookie/標頭/參數的名稱(chēng)multiple 如果這個(gè)屬性設置了任意一個(gè)數值,所有匹配的cookie都會(huì )被積累并存儲到一個(gè)Cookie[](一個(gè)數組)類(lèi)型的bean里。若無(wú)設置,指定cookie的第一個(gè)值將作為Cookie類(lèi)型的值Value 如果沒(méi)有匹配的cookie或數值,就返回這個(gè)屬性指定的默認值
例如:
<bean:cookie id=”myCookie” name=”userName”/>
腳本變量名稱(chēng)是myCookie,用來(lái)創(chuàng )建這個(gè)屬性的cookie的名稱(chēng)是userName。
<bean:header id=”myHeader” name=”Accept-Language”/>
腳本變量名稱(chēng)是myHeader,請求標頭的名稱(chēng)是Accept-Language.
<bean:parameter id=”myParameter” name=”myParameter”>
腳本變量名稱(chēng)是myPatameter,它保存的請求參數的名稱(chēng)也是myParameter.
<bean:include>標記將對一個(gè)資源的響應進(jìn)行檢索,并引入一個(gè)腳本變量和字符串類(lèi)型的頁(yè)作用域屬性。這個(gè)資源可以是一個(gè)頁(yè),一個(gè)ActionForward或一個(gè)外部URL。與<jsp:include>的不同是資源的響應被存儲到一個(gè)頁(yè)作用域的bean中,而不是寫(xiě)入到輸出流。屬性如下:
屬性描述Id 腳本變量和要定義的頁(yè)作用域屬性的名稱(chēng)Page 一個(gè)內部資源forward 一個(gè)ActionForward Href 要包含的資源的完整URL
例如:
<bean:include id=”myInclude” page=”MyJsp?x=1”/>
腳本變量的名稱(chēng)是myInclude,要檢索的響應來(lái)自資源MyJsp?x=1。
<bean:resource>標記將檢索web應用中的資源,并引入一個(gè)腳本變量和InputStream或字符串類(lèi)型的頁(yè)作用域屬性。如果在檢索資源時(shí)發(fā)生問(wèn)題,就會(huì )產(chǎn)生一個(gè)請求時(shí)間異常。屬性如下:
屬性描述
14
Id 腳本變量和要定義的頁(yè)作用域屬性的名稱(chēng)Name 資源的相對路徑Input 如果這個(gè)屬性不存在,資源的類(lèi)型就是字符串
例如:
<bean:resource id=”myResource” name=”/WEB-INF/images/myResource.xml”/>
腳本變量的名稱(chēng)是myResource,要檢索的資源的名稱(chēng)是myResource.xml。
2.1.3 顯示Bean屬性
標記庫中定義了<bean:write>標記,用來(lái)將bean的屬性輸送到封裝的JSP頁(yè)寫(xiě)入器。這個(gè)標記與<jsp:getProperty>類(lèi)似,屬性如下:
屬性描述Name 要進(jìn)行屬性顯示的bean的名稱(chēng)property 要顯示的屬性的名稱(chēng)。如果這個(gè)屬性類(lèi)有java.beans.PropertyEditor,getAsText()或toString 方法會(huì )被調用Scope Bean的作用域,若沒(méi)有設置,搜索范圍是從頁(yè)到應用程序作用域Filter 如果設置true,屬性中的所有特殊HTML字符都將被轉化為相應的實(shí)體引用Ignore 如果設置false,當發(fā)現屬性時(shí)會(huì )產(chǎn)生一個(gè)請求時(shí)間異常,否則返回null
例如:
<bean:write name=”myBean” property=”myProperty” scope=”request”
filter=”true”/>
myBean的屬性myProperty將會(huì )被顯示,作用域為請求,如果發(fā)現任何HTML特殊字符都將被轉化為相應的實(shí)體引用。
2.1.4 消息標記和國際化
strtus框架支持國際化和本地化。用戶(hù)在他們的計算機中定義自己所在的區域,當web應用程序需要輸出一條消息時(shí),它將引用一個(gè)資源文件,在這個(gè)文件中所有的消息都使用了適當的語(yǔ)言。一個(gè)應用程序可能提供了很多資源文件,每個(gè)文件提供了用不同語(yǔ)言編寫(xiě)的消息。如果沒(méi)有找到所選語(yǔ)言的資源文件,就將使用默認的資源文件。
struts框架對國際化的支持是使用<bean:message>標記,以及使用java.util數據包中定義的Locale和ResourceBundle類(lèi)來(lái)實(shí)現Java2平臺對這些任務(wù)的支持。Java.text.MessageFormat類(lèi)定義的技術(shù)可以支持消息的格式。利用此功能,開(kāi)發(fā)人員不需了解這些類(lèi)的細節就可進(jìn)行國際化和設置消息的格式。
用strtus實(shí)現國際化和本地化:
第一步要定義資源文件的名稱(chēng),這個(gè)文件會(huì )包含用默認語(yǔ)言編寫(xiě)的在程序中會(huì )出現的所有消息。這些消息以“關(guān)鍵字-值”的形式存儲,如下:
error.validation.location = The entered location is invalid
這個(gè)文件需要存儲在類(lèi)的路徑下,而且它的路徑要作為初始化參數傳送給ActionServlet作為參數進(jìn)行傳遞時(shí),路徑的格式要符合完整Java類(lèi)的標準命名規范。比如,如果資源文件存儲在WEB-INFclasses目錄中,文件名是
15
ApplicationResources.properties,那么需要傳遞的參數值是ApplicationResources。如果文件在WEB-INFclassescom est中,那么參數值就應該是com.test. ApplicationResources.
為了實(shí)現國際化,所有的資源文件必須都存儲在基本資源文件所在的目錄中?;举Y源文件包含的是用默認地區語(yǔ)言-本地語(yǔ)言編寫(xiě)的消息。如果基本資源文件的名稱(chēng)是ApplicationResources.properties,那么用其他特定語(yǔ)言編寫(xiě)的資源文件的名稱(chēng)就應該是ApplicationResources_xx.properties(xx為ISO編碼,如英語(yǔ)是en)。因此這些文件應包含相同的關(guān)鍵字,但關(guān)鍵字的值是用特定語(yǔ)言編寫(xiě)的。
ActionServlet的區域初始化參數必須與一個(gè)true值一起傳送,這樣ActionServlet就會(huì )在用戶(hù)會(huì )話(huà)中的Action.LOCALE_KEY關(guān)鍵字下存儲一個(gè)特定用戶(hù)計算機的區域對象?,F在可以運行一個(gè)國際化的web站點(diǎn),它可以根據用戶(hù)計算機上的設置的區域自動(dòng)以相應的語(yǔ)言顯示。
我們還可以使用特定的字符串來(lái)替換部分消息,就象用java.text.MessageFormat的方法一樣:
error.invalid.number = The number {0} is valid
我們可以把字符串{0}替換成任何我們需要的數字。<bean:message>標簽屬性如下:
屬性描述Key 資源文件中定義消息關(guān)鍵字Locale 用戶(hù)會(huì )話(huà)中存儲的區域對象的屬性名稱(chēng)。若沒(méi)有設置,默認值是Action.LOCALE_KEY Bundle 在應用程序上下文中,存儲資源對象的屬性的名稱(chēng)。如果沒(méi)有設置這個(gè)屬性,默認值是Action.MESSAGE_KEY arg0 第一個(gè)替換參數值arg1 第二個(gè)替換參數值arg2 第三個(gè)替換參數值arg3 第四個(gè)替換參數值
例如:資源文件中定義了一個(gè)消息:
info.myKey = The numbers entered are {0},{1},{2},{3}
我們可使用下面的消息標記:
<bean:message key=”info.myKey” arg0=”5” arg1=”6” arg2=”7” arg3=”8”/>
這個(gè)信息標記輸出到JSP頁(yè)會(huì )顯示為:The numbers entered are 5,6,7,8
2.2 邏輯標記
邏輯庫的標記能夠用來(lái)處理外觀(guān)邏輯而不需要使用scriptlet。Struts邏輯標簽庫包含的標記能夠有條件地產(chǎn)生輸出文本,在對象集合中循環(huán)從而重復地產(chǎn)生輸出文本,以及應用程序流程控制。它也提供了一組在JSP頁(yè)中處理流程控制的標記。這些標記封裝在文件名為struts-logic.tld的標記包中。邏輯標記庫定義的標記能夠執行下列三個(gè)功能:
條件邏輯
重復
轉發(fā)/重定向響應
16
2.2.1 條件邏輯
struts有三類(lèi)條件邏輯。第一類(lèi)可以比較下列實(shí)體與一個(gè)常數的大?。?br>cookie
請求參數
bean或bean的參數
請求標頭
以下列出了這一類(lèi)標記:
標記功能<equal> 如果常數與被定義的實(shí)體相等,返回true <notEqual> 如果常數與被定義的實(shí)體不相等,返回true <greaterEqual> 如果常數大于等于被定義的實(shí)體,返回true <lessEqual> 如果常數小于等于被定義的實(shí)體,返回true <lessThan> 如果常數小于被定義的實(shí)體,返回true <greaterThan> 如果常數大于被定義的實(shí)體,返回true
這一類(lèi)的所有標記有相同的屬性
屬性描述Value 要進(jìn)行比較的常數值Cookie 要進(jìn)行比較的HTTP cookie的名稱(chēng)Header 要進(jìn)行比較的HTTP請求標頭的名稱(chēng)parameter 要進(jìn)行比較的HTTP請求參數的名稱(chēng)Name 如果要進(jìn)行比較的是bean或bean的屬性,則這個(gè)屬性代表bean的名稱(chēng)property 要進(jìn)行比較的bean屬性的名稱(chēng)Scope Bean的作用域,如果沒(méi)有指定作用域,則它的搜索范圍是從頁(yè)到應用程序
例如:
<logic:equal parameter=”name” value=”SomeName”>
The entered name is SomeName
</logic:equal>
判斷名為”name”的請求參數的值是否是”SomeName”。
<logic:greaterThan name=”bean” property=”prop” scope=”page” value=”7”>
The value of bean.Prop is greater than 7
</logic:greaterThan>
判斷在頁(yè)的作用域中是否有一個(gè)名為”bean”的bean,它有一個(gè)prop屬性,這個(gè)屬性的值是否大于7。如果這個(gè)屬性能夠轉化為數值,就進(jìn)行數值比較,否則就進(jìn)行字符串比較。
第二類(lèi)條件標記定義了兩個(gè)標記:
<logic:present>
<logic:notPresent>
它們的功能是在計算標記體之前判斷特定的項目是否存在。標記的屬性和屬性值決定了要進(jìn)行檢查的項目。
屬性描述
17
Cookie 由這個(gè)屬性指定的cookie將被檢查是否存在Header 由這個(gè)屬性指定的請求標頭將被檢查是否存在parameter 由這個(gè)屬性指定的請求參數將被檢查是否存在Name 如果沒(méi)有設置property屬性,那么有這個(gè)屬性指定的bean將被檢查是否存在。如果設置了,那么bean和bean屬性都將被檢查是否存在。property 檢查有name屬性指定的bean中是否存在指定的屬性Scope 如果指定了bean的名稱(chēng),這就是bean的作用域。如果沒(méi)有指定作用域,搜索的范圍從頁(yè)到應用程序作用域。Role 檢查當前已經(jīng)確認的用戶(hù)是否屬于特殊的角色User 檢查當前已經(jīng)確認的用戶(hù)是否有特定的名稱(chēng)
例如:
<logic:notPresent name=”bean” property=”prop” scope=”page”>
The bean property bean.prop is present
</logic:notPresent>
標記判斷在頁(yè)作用域中是否存在一個(gè)名為”bean”的bean,這個(gè)bean有一個(gè)prop屬性。
第三類(lèi)條件標記比較復雜,這些標記根據模板匹配的結果檢查標記體的內容。換句話(huà)說(shuō),這些標記判斷一個(gè)指定項目的值是否是一個(gè)特定常數的子字符串:
<logic:match>
<logic:notMatch>
這些標記允許JSP引擎在發(fā)現了匹配或是沒(méi)有發(fā)現時(shí)計算標記主體。屬性如下:
屬性描述Cookie 要進(jìn)行比較的HTTP cookie的名稱(chēng)Header 要進(jìn)行比較的的HTTP標頭的名稱(chēng)parameter 要進(jìn)行比較的的HTTP請求參數的名稱(chēng)Name 若要對bean或bean的屬性進(jìn)行比較,這個(gè)屬性是用戶(hù)指定bean的名稱(chēng)location 如果設置了這個(gè)屬性的值,將會(huì )在這個(gè)指定的位置(索引值)進(jìn)行匹配scope 如果對bean進(jìn)行比較,這個(gè)屬性指定了bean的作用域。如果沒(méi)有設置這個(gè)參數,搜索范圍是從頁(yè)到應用程序作用域property 要進(jìn)行比較的bean的屬性名稱(chēng)value 要進(jìn)行比較的常數值
例如:
<logic:match parameter=”name” value=”xyz” location=”1”>
The parameter name is a sub-string of the string xyz from index 1
</logic:match>
標記檢查名為”name”的請求參數是否是”xyz”的子字符串,但是子字符串必須從”xyz”的索引位置1開(kāi)始(也就是說(shuō)子字符串必須是”y”或”yz”)。
2.2.2 重復標記
在邏輯標記庫中定義了<logic:iterate>標記,它能夠根據特定集合中元素的數目對標記體的內容進(jìn)行重復的檢查。集合的類(lèi)型可以是java.util.Iterator,java.util.Collection
18
,java.util.Map或是一個(gè)數組。有三種方法可以定義這個(gè)集合:
使用運行時(shí)間表達式來(lái)返回一個(gè)屬性集合的集合
將集合定義為bean,并且使用name屬性指定存儲屬性的名稱(chēng)。
使用name屬性定義一個(gè)bean,并且使用property屬性定義一個(gè)返回集合的bean屬性。
當前元素的集合會(huì )被定義為一個(gè)頁(yè)作用域的bean。屬性如下,所有這些屬性都能使用運行時(shí)表達式。
屬性描述collection 如果沒(méi)有設置name屬性,它就指定了要進(jìn)行重復的集合Id 頁(yè)作用域bean和腳本變量的名稱(chēng),它保存著(zhù)集合中當前元素的句柄indexed 頁(yè)作用域JSP bean的名稱(chēng),它包含著(zhù)每次重復完成后集合的當前索引Length 重復的最大次數Name 作為集合的bean的名稱(chēng),或是一個(gè)bean名稱(chēng),它由property屬性定義的屬性,是個(gè)集合Offset 重復開(kāi)始位置的索引property 作為集合的Bean屬性的名稱(chēng)Scope 如果指定了bean名稱(chēng),這個(gè)屬性設置bean的作用域。若沒(méi)有設置,搜索范圍從頁(yè)到應用程序作用域Type 為當前定義的頁(yè)作用域bean的類(lèi)型
例如:
<logic:iterate id=”currentInt”
collection=”<% =myList %>”
type=”java.lang.Integer”
offset=”1”
length=”2”>
<% =currentint %>
</logic:iterate>
代碼將從列表中的第一個(gè)元素開(kāi)始重復兩個(gè)元素并且能夠讓當前元素作為頁(yè)作用域和java.lang.Integer類(lèi)型的腳本變量來(lái)使用。也就是說(shuō),如果myList包含元素1,2,3,4等,代碼將會(huì )打印1和2。
2.2.3 轉發(fā)和重定向標記
轉發(fā)標記
<logic:forward>標記能夠將響應轉發(fā)給重定向到特定的全局ActionForward上。ActionForward的類(lèi)型決定了是使用PageContext轉發(fā)響應,還是使用sendRedirect將響應進(jìn)行重定向。此標記只有一個(gè)”name”屬性,用來(lái)指定全局ActionForward的名稱(chēng),例如:
<logic:forward name=”myGlobalForward”/>
重定向標記
<logic:redirect>標記是一個(gè)能夠執行HTTP重定向的強大工具。根據指定的不同屬性,它能夠通過(guò)不同的方式實(shí)現重定向。它還允許開(kāi)發(fā)人員指定重定向URL的查詢(xún)參數。屬性如下:
19
屬性描述Forward 映射了資源相對路徑的ActionForward Href 資源的完整URL Page 資源的相對路徑Name Map類(lèi)型的頁(yè)名稱(chēng),請求,會(huì )話(huà)或程序屬性的名稱(chēng),其中包含要附加大哦重定向URL(如果沒(méi)有設置property屬性)上的“名稱(chēng)-值”參數?;蚴蔷哂蠱ap類(lèi)型屬性的bean名稱(chēng),其中包含相同的信息(沒(méi)有設置property屬性) Property Map類(lèi)型的bean屬性的名稱(chēng)。Bean的名稱(chēng)由name屬性指定。Scope 如果指定了bean的名稱(chēng),這個(gè)屬性指定搜索bean的范圍。如果沒(méi)有設置,搜索范圍從頁(yè)到應用程序作用域ParamID 定義特定查詢(xún)參數的名稱(chēng)ParamName 字符串類(lèi)型的bean的名稱(chēng),其中包含查詢(xún)參數的值(如果沒(méi)有設置paramProperty屬性);或是一個(gè)bean的名稱(chēng),它的屬性(在paramProperty屬性中指定)包含了查詢(xún)參數值paramProperty 字符串bean屬性的名稱(chēng),其中包含著(zhù)查詢(xún)參數的值ParamScope ParamName定義的bean的搜索范圍
使用這個(gè)標記時(shí)至少要指定forward,href或page中的一個(gè)屬性,以便標明將響應重定向到哪個(gè)資源。
2.3 HTML標記
Struts HTML標記可以大致地分為以下幾個(gè)功能:
顯示表單元素和輸入控件
顯示錯誤信息
顯示其他HTML元素
2.3.1 顯示表單元素和輸入控件
struts將HTML表單與為表單操作而定義的ActionForm bean緊密聯(lián)系在一起。表單輸入字段的名稱(chēng)與ActionForm bean里定義的屬性名稱(chēng)是對應的。當第一次顯示表單時(shí),表單的輸入字段是從ActionForm bean中移植過(guò)來(lái)的,當表單被提交時(shí),請求參數將移植到ActionForm bean實(shí)例。
所有可以在<form>標記中使用的用來(lái)顯示HTML輸入控件的內嵌標記都使用下列屬性來(lái)定義JavaScript事件處理器。
屬性描述Onblur 字段失去了焦點(diǎn)Onchange 字段失去了焦點(diǎn)并且數值被更改了Onclick 字段被鼠標點(diǎn)擊Ondblclick 字段被鼠標雙擊Onfocus 字段接收到輸入焦點(diǎn)Onkeydown 字段擁有焦點(diǎn)并且有鍵按下
20
onkeypress 字段擁有焦點(diǎn)并且有鍵按下并釋放Onkeyup 字段擁有焦點(diǎn)并且有鍵被釋放onmousedown 鼠標指針指向字段并且點(diǎn)擊onmousemove 鼠標指針指向字段并且在字段內移動(dòng)onmouseout 鼠標指針指向控件,但是指針在元素外圍移動(dòng)onmouseover 鼠標指針沒(méi)有指向字段,但是指針在元素內部移動(dòng)Onmouseup 鼠標指針指向字段,并且釋放了鼠標按鍵
<form>元素中能夠被定義的其他一般屬性有:
屬性描述Accesskey 定義訪(fǎng)問(wèn)輸入字段的快捷鍵Style 定義輸入字段的樣式styleClass 定義輸入字段的樣式表類(lèi)Tabindex 輸入字段的tab順序
a) 表單標記
<html:form>標記用來(lái)顯示HTML標記,可以指定AcitonForm bean的名稱(chēng)和它的類(lèi)名。如果沒(méi)有設置這些屬性,就需要有配置文件來(lái)指定ActionMapping以表明當前輸入的是哪個(gè)JSP頁(yè),以及從映射中檢索的bean名和類(lèi)。如果在A(yíng)ctionMapping指定的作用域中沒(méi)有找到指定的名稱(chēng),就會(huì )創(chuàng )建并存儲一個(gè)新的bean,否則將使用找到的bean。
<form>標記能夠包含與各種HTML輸入字段相對應的子標記。
<html:form>標記屬性如下:
屬性描述Action 與表單相關(guān)的操作。在配置中,這個(gè)操作也用來(lái)標識與表單相關(guān)的ActionForm bean Enctype 表單HTTP方法的編碼類(lèi)型Focus 表單中需要初始化焦點(diǎn)的字段Method 表單使用的HTTP方法Name 與表單相關(guān)的ActionForm bean的名稱(chēng)。如果沒(méi)有設置這個(gè)屬性,bean的名稱(chēng)將會(huì )從配置信息中獲得Onreset 表單復位時(shí)的JavaScript事件句柄Onsubmit 表單提交時(shí)的JavaScript事件句柄Scope 搜索ActionForm bean的范圍。如果沒(méi)有設置,將從配置文件中獲取Style 使用的格式styleClass 這個(gè)元素的格式表類(lèi)Type ActionForm bean的完整名稱(chēng)。如果沒(méi)有設置,將從配置文件獲得
例如:
<html:form action=”validateEmploee.do” method=”post”>
</html:form>
與表單相關(guān)的操作路徑是validateEmployee,而表單數據是通過(guò)POST傳遞的。對于這個(gè)表單來(lái)說(shuō),ActionForm bean的其他信息,如bean名稱(chēng)類(lèi)型,作用域,都是從表單指定操作的ActionMapping中檢索得到的:
21
<form-beans>
<form-bean name=”empForm” type=”com.example.EmployeeForm”/>
</form-beans>
<action-mappings>
<action path=”/validateEmployee”
type=”com.example.ValidateExampleAction”
name=”empForm”
scope=”request”
input=”/employeeInput.jsp”>
<forward name=”success” path=”/employeeOutput.jsp”>
</action>
</action-mapping>
如果配置文件中包含上述信息,并且請求URI的*.do被映射到ActionServlet,與表單相關(guān)的ActionForm bean的名稱(chēng),類(lèi)型和作用域分別是empForm,com.example.EmployeeForm和request.這些屬性也可以使用<html:form>標記屬性進(jìn)行顯示的定義。
以下標記必須嵌套在<html:form>標記里
b) 按鈕和取消標記
<html:button>標記顯示一個(gè)按鈕控件;<html:cancel>標記顯示一個(gè)取消按鈕。屬性如下:
屬性描述Property 定義在表單被提交時(shí)返回到服務(wù)器的請求參數的名稱(chēng)Value 按鈕上的標記
c) 復位和提交標記
<html:reset>和<html:submit>標記分別能夠顯示HTML復位按鈕和提交按鈕。
d) 文本和文本區標記
<html:text>和<html:textarea>標記分別HTML文本框和文本區,屬性如下:
屬性描述Property 定義當表單被提交時(shí)送回到服務(wù)器的請求參數的名稱(chēng),或用來(lái)確定文本元素當前值的bean的屬性名稱(chēng)Name 屬性被查詢(xún)的bean的名稱(chēng),它決定了文本框和文本區的值。如果沒(méi)有設置,將使用與這個(gè)內嵌表單相關(guān)的ActionForm的名稱(chēng)
<html:text>標記還有以下屬性:
屬性描述Maxlength 能夠輸入的最大字符數
22
Size 文本框的大?。ㄗ址麛担?br><html:textarea>標記特有的屬性如下:
屬性描述Rows 文本區的行數Cols 文本區的列數
e) 檢查框和復選框標記
<html:checkbox>標記能夠顯示檢查框控件。<html:multibox>標記能夠顯示HTML復選框控件,請求對象在傳遞檢查框名稱(chēng)時(shí)使用的getParameterValues()調用將返回一個(gè)字符串數組。屬性如下:
屬性描述Name Bean的名稱(chēng),其屬性會(huì )被用來(lái)確定檢查是否以選中的狀態(tài)顯示。如果沒(méi)有設置,將使用與這個(gè)內嵌表單相關(guān)的ActionFrom bean的名稱(chēng)。Property 檢查框的名稱(chēng),也是決定檢查框是否以選中的狀態(tài)顯示的bean屬性名稱(chēng)。在復選框的情況下,這個(gè)屬性必須是一個(gè)數組。Value 當檢查框被選中時(shí)返回到服務(wù)器的請求參數的值
例如:
<html:checkbox property=”married” value=”Y”/>
一個(gè)名為married的檢查框,在表單提交時(shí)會(huì )返回一個(gè)”Y”.
f) 文件標記
<html:file>標記可以顯示HTML文件控件。屬性如下:
屬性描述Name Bean的名稱(chēng),它的屬性將確定文件控件中顯示的內容。如果沒(méi)設置,將使用與內嵌表單相關(guān)的ActionForm bean的名稱(chēng)property 這個(gè)屬性定義了當表單被提交時(shí)送回到服務(wù)器的請求參數的名稱(chēng),以及用來(lái)確定文件控件中顯示內容的bean屬性名稱(chēng)Accept 服務(wù)器能夠處理的內容類(lèi)型集。它也將對客戶(hù)瀏覽器對話(huà)框中的可選文件類(lèi)型進(jìn)行過(guò)濾Value 按鈕上的標記,這個(gè)按鈕能夠在本地文件系統中瀏覽文件
g) 單選鈕標記
<html:radio>標記用來(lái)顯示HTML單選鈕控件,屬性如下:
屬性描述Name Bean的名稱(chēng),其屬性會(huì )被用來(lái)確定單選鈕是否以選中的狀態(tài)顯示。如果沒(méi)有設置,將使用與這個(gè)內嵌表單相關(guān)的ActionFrom bean的名稱(chēng)。property 當表單被提交時(shí)送回到服務(wù)器的請求參數的名稱(chēng),以及用來(lái)確定單選鈕是否以被選中狀態(tài)進(jìn)行顯示的bean屬性的名稱(chēng)
23
Value 當單選鈕被選中時(shí)返回到服務(wù)器的值
h) 隱藏標記
<html:hidden>標記能夠顯示HTML隱藏輸入元素,屬性如下:
屬性描述Name Bean的名稱(chēng),其屬性會(huì )被用來(lái)確定隱藏元素的當前值。如果沒(méi)有設置,將使用與這個(gè)內嵌表單相關(guān)的ActionFrom bean的名稱(chēng)。property 定義了當表單被提交時(shí)送回到服務(wù)器的請求參數的名稱(chēng),以及用來(lái)確定隱藏元素當前值的bean屬性的名稱(chēng)Value 用來(lái)初始化隱藏輸入元素的值
i) 密碼標記
<html:password>標記能夠顯示HTML密碼控件,屬性如下:
屬性描述maxlength 能夠輸入的最大字符數Name Bean的名稱(chēng),它的屬性將用來(lái)確定密碼元素的當前值。如果沒(méi)有設置,將使用與這個(gè)內嵌表單相關(guān)的ActionFrom bean的名稱(chēng)。property 定義了當表單被提交時(shí)送回到服務(wù)器的請求參數的名稱(chēng),以及用來(lái)確定密碼元素當前值的bean屬性的名稱(chēng)redisplay 在顯示這個(gè)字段時(shí),如果相應的bean屬性已經(jīng)被設置了數據,這個(gè)屬性決定了是否顯示密碼的內容Size 字段的大小
j) 選擇標記
<html:select>標記能夠顯示HTML選擇控件,屬性如下:
屬性描述multiple 表明這個(gè)選擇控件是否允許進(jìn)行多選Name Bean的名稱(chēng),它的屬性確定了哪個(gè)。如果沒(méi)有設置,將使用與這個(gè)內嵌表單相關(guān)的ActionFrom bean的名稱(chēng)。property 定義了當表單被提交時(shí)送回到服務(wù)器的請求參數的名稱(chēng),以及用來(lái)確定哪個(gè)選項需要被選中的bean屬性的名稱(chēng)Size 能夠同時(shí)顯示的選項數目Value 用來(lái)表明需要被選中的選項
k) 選項標記(這個(gè)元素需要嵌套在<html:select>標記里)
<html:option>標記用來(lái)顯示HTML選項元素集合,屬性如下:
24
屬性描述collection Bean集合的名稱(chēng),這個(gè)集合存儲在某個(gè)作用域的屬性中。選項的數目與集合中元素的數目相同。Property屬性能夠定義選項值所使用的bean屬性,而labelProperty屬性定義選項標記所使用的bean的屬性labelName 用來(lái)指定存儲于某個(gè)作用域的bean,這個(gè)bean是一個(gè)字符串的集合,能夠定義<html:option>元素的標記(如果標志與值不相同) labelProperty 與collection屬性共同使用時(shí),用來(lái)定義了存儲于某個(gè)作用域的bean,這個(gè)bean將返回一個(gè)字符串集合,能夠用來(lái)寫(xiě)入<html:option>元素的value屬性Name 如果這是唯一被指定的屬性,它就定義了存儲于某個(gè)作用域的bean,這個(gè)bean將返回一個(gè)字符串集合,能夠用來(lái)寫(xiě)入<html:option>元素的value屬性property 這個(gè)屬性在與collection屬性共同使用時(shí),定義了每個(gè)要顯示選項值的獨立bean的name屬性。如果不是與collection屬性共同使用,這個(gè)屬性定義了由name屬性指定的bean的屬性名稱(chēng)(如果有name屬性),或是定義了一個(gè)ActionForm bean,這個(gè)bean將返回一個(gè)集合來(lái)寫(xiě)入選項的值
我們看一下這個(gè)標記的一些例子:
<html:option collection=”optionCollection” property=”optionValue”
labelProperty=”optionLabel”/>
標記假設在某個(gè)作用域中有一個(gè)名為optionCollection的集合,它包含了一些具有optionValue屬性的獨立的bean,每個(gè)屬性將作為一個(gè)選項的值。每個(gè)選項的標志由bean的optionLabel屬性屬性進(jìn)行定義。
<html:option name=”optionValues” labelName=”optionLabels”/>
標記中optionValues代表一個(gè)存儲在某個(gè)作用域中的bean,它是一個(gè)字符串集合,能夠用來(lái)寫(xiě)入選項的值,而optionLabels代表一個(gè)存儲在某個(gè)作用域中的bean,它也是一個(gè)字符串集合,能夠用來(lái)寫(xiě)入選項的標志。
2.3.2.顯示錯誤信息的標記
<html:errors>標記能夠與ActionErrors結合在一起來(lái)顯示錯誤信息。這個(gè)標記首先要從當前區域的資源文件中讀取消息關(guān)鍵字errors.header,然后顯示消息的文本。接下去它會(huì )在A(yíng)ctionErrors對象(通常作為請求參數而存儲在A(yíng)ction.ERROR_KEY關(guān)鍵字下)中循環(huán),讀取單個(gè)ActionError對象的消息關(guān)鍵字,從當前區域的資源文件中讀取并格式化相應的消息,并且顯示它們。然后它讀取與errors.footer關(guān)鍵字相對應的消息并且顯示出來(lái)。
通過(guò)定義property屬性能夠過(guò)濾要顯示的消息,這個(gè)屬性的值應該與ActionErrors對象中存儲ActionError對象的關(guān)鍵字對應。屬性如下:
屬性描述Bundle 表示應用程序作用域屬性的名稱(chēng),它包含著(zhù)消息資源,其默認值Acion.MESSAGE_KEY Locale 表示會(huì )話(huà)作用域屬性的名稱(chēng),它存儲著(zhù)用戶(hù)當前登錄的區域信息。其默認值是Action.ERROR_KEY
25
Name 表示請求屬性的名稱(chēng),它存儲著(zhù)ActionErrors對象。其默認值是Action.ERROR_KEY property 這個(gè)屬性指定了ActionErrors對象中存儲每個(gè)獨立ActionError對象的關(guān)鍵字,它可以過(guò)濾消息
例子:
<html:errors/>
顯示集合中所有的錯誤。
<html:errors property=”missing.name”/>
顯示存儲在missing.name關(guān)鍵字的錯誤。
2.3.3.其他HTML標記
struts HTML標記還定義了下列標記來(lái)顯示其他HTML元素:
<html:html> : 顯示HTML元素
<html:img> : 顯示圖象標記
<html:link> : 顯示HTML鏈接或錨點(diǎn)
<html:rewrite> : 創(chuàng )建沒(méi)有錨點(diǎn)標記的URI
這些標記的詳細內容請參照struts文檔。
2.4. 模板標記
動(dòng)態(tài)模板是模塊化WEB頁(yè)布局設計的強大手段。Struts模板標記庫定義了自定義標記來(lái)實(shí)現動(dòng)態(tài)模板。
2.4.1.插入標記
<template:insert>標記能夠在應用程序的JSP頁(yè)中插入動(dòng)態(tài)模板。這個(gè)標記只有一個(gè)template屬性,用來(lái)定義模板JSP頁(yè)。要插入到模板的頁(yè)是有多個(gè)<template:put>標記來(lái)指定的,而這些標記被定義為<template:insert>標記的主體內容。
2.4.2.放置標記
<template:put>標記是<template:insert>標記內部使用的,用來(lái)指定插入到模板的資源。屬性如下:
屬性描述content 定義要插入的內容,比如一個(gè)JSP文件或一個(gè)HTML文件direct 如果這個(gè)設置為true,由content屬性指定的內容將直接顯示在JSP上而不是作為包含文件Name 要插入的內容的名稱(chēng)Role 如果設置了這個(gè)屬性,只有在當前合法用戶(hù)具有特定角色時(shí)才能進(jìn)行內容的插入。
26
2.4.3.獲得標記
在模板JSP頁(yè)中使用<template:get>標記能夠檢索由<template:put>標記插入到JSP頁(yè)的資源。屬性如下:
屬性描述Name 由<template:put>標記插入的內容的名稱(chēng)Role 如果設置了這個(gè)屬性,只有在當前合法用戶(hù)具有特定角色時(shí)才能進(jìn)行內容的檢索
2.4.4.使用模板標記
首先編寫(xiě)一個(gè)模板JSP頁(yè),它將被所有的web頁(yè)使用:
<html>
<%@ taglib uri=”/template” prefix=”template” %>
<head>
<title></title>
</head>
<body>
<table width=”100%” height=”100%” >
<tr height=”10%”>
<td>
<template:get name=”header”/>
</td>
</tr>
<tr height=”80%”>
<td>
<template:get name=”content”/>
</td>
</tr>
<tr height=”10%”>
<td>
<template:get name=”footer”/>
</td>
</tr>
</table>
</body>
</html>
我們將這個(gè)文件命名為template.jsp。這個(gè)文件使用<template:get>標記來(lái)獲得由JSP頁(yè)使用<template:put>標記提供的內容,并且將內容在一個(gè)HTML表格中顯示出來(lái)。這三個(gè)內容是標題,內容和頁(yè)腳。典型的內容JSP會(huì )是這樣:
<%@ taglib uri=”/template” prefix=”/template” %>
<template:insert template=”template.jsp”>
<template:put name=”header” content=”header.html”/>
27
<template:put name=”content” content=”employeeList.jsp”/>
<template:put name=”footer” content=”footer.html”/>
</template:insert>
這個(gè)應用程序JSP頁(yè)使用<template:insert標記來(lái)定義模板,然后使用<template:put>標記將特定內容名稱(chēng)指定的資源放到模板JSP頁(yè)中。如果我們有上百個(gè)布局相同的頁(yè),但突然想改變這個(gè)模板,我們只需要改變template.jsp文件。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Struts教程
Struts標簽
Matrix - 與 Java 共舞 - Jakarta Struts 編程:使用Tiles框架(第三部分)
Struts 標簽 html:form
具有自動(dòng)數據校驗功能的struts標簽
創(chuàng )建JSP文件和ActionForm Bean
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久