同html的base元素。
2. html:cancel
該標(biāo)簽生成一個(gè)取消按鈕。當(dāng)點(diǎn)擊該按鈕后action servlet會(huì)繞過相應(yīng)的form bean的validate()方法,同時(shí)將控制權(quán)交給相應(yīng)的action。在action中可使用Action.isCancelled(HttpServletRequest)方法判斷是否被取消了。如果返回true表示這個(gè)action被取消了,否則表示這個(gè)action沒有被取消。
eg. <html:cancel>取消</html:cancel>
3. html:select
該標(biāo)簽生成一個(gè)select元素。multiple屬性決定是否為多選。如果指定了multiple="true"則為多選,此時(shí)對(duì)應(yīng)的屬性應(yīng)該是一個(gè)數(shù)組。否則,此時(shí)對(duì)應(yīng)的屬性應(yīng)該是標(biāo)量。
注意:為了正確的處理未作選擇的情況,在ActionForm中的reset()方法中必須將標(biāo)量屬性設(shè)置為默認(rèn)值而將數(shù)組的長(zhǎng)度置為0。
另外的一個(gè)重要問題就是struts如何生成option元素了,這個(gè)任務(wù)struts交給了html:option、html:options和html:optionsCollection三個(gè)標(biāo)簽。
1)html:option
該標(biāo)簽生成一個(gè)HTML的option元素。該標(biāo)簽必須嵌在html:select標(biāo)簽中。它的顯示文本來自其標(biāo)簽體,也可以來自于資源文件。
eg. <html:option value="red">red</html:option> <html:option value="blue">blue</html:option>
2)html:options
該標(biāo)簽生成多個(gè)HTML的option元素。該標(biāo)簽必須嵌在html:select標(biāo)簽中。
指定collection屬性的方式舉例如下:
<html:select name="selectForm" property="orgId" size="1">
<html:options collection="orgCollection" property="orgId" labelProperty="orgName"/>
</html:select>
未指定collection屬性方式的舉例如下:
<html:select name="selectForm" property="orgId" size="1">
<html:options property="orgIds" labelProperty="orgNames"/>
</html:select>
3)html:optionsCollection標(biāo)簽
該標(biāo)簽生成多個(gè)HTML的option元素。其功能和html:options標(biāo)簽的相同。
<html:select name="selectForm" property="orgIds" size="1">
<html:optionsCollection name="selectForm" property="orgs" label="orgName" value="orgId"/>
</html:select>
4 html:img
該標(biāo)簽用于輸出圖片,同HTML的img標(biāo)簽。
Eg. <html:img page="logo.gif" height="50" width="200" alt="Web Logo"/>
5 html:link
該標(biāo)簽用于產(chǎn)生超鏈接,同HTML的<a/>標(biāo)簽。使用舉例如下:
<html:link page="index.jsp">link測(cè)試</html:link>
此行代碼解析后:
<a href="index.jsp">link測(cè)試</a>
6 html:form
該標(biāo)簽用于產(chǎn)生表單,同HTML的<form/>標(biāo)簽,標(biāo)簽中必須包含一個(gè)action屬性,它是這個(gè)標(biāo)簽中唯一必需的屬性。如果不具備該屬性則JSP頁面會(huì)拋出一個(gè)異常。之后你必須給這個(gè)action屬性指定一個(gè)有效值。一個(gè)有效值是指應(yīng)用程序的Struts的配置文件中元素里的任何一個(gè)子元素的訪問路徑。而且相應(yīng)的元素中必須有一個(gè)name屬性,它的值是form bean的名稱。
Eg1. <html:form action="/addUser.do" method="post">
Eg2. <html:form onsubmit="return doSubmit(this);" action="/batchAddUser.do" method="post" enctype="multipart/form-data">
7 html:text
該標(biāo)簽為<html:form/>的子標(biāo)簽,用于顯示文本框,同HTML的<input type="text"…/>。
Eg1. <input type="text" name="name" id="name" readonly/>
Eg2. <html:text property="loginName" onkeyup="validateLoginName();" maxlength="20"/>
8 html:textarea
該標(biāo)簽同HTML的<textarea/>標(biāo)簽,用于產(chǎn)生文本域,使用舉例如下:
Eg1. <html:textarea property="description" rows="4" cols="50" onchange="checkCount(this, 200)"/>
Eg2. <html:textarea property="description" rows="4" cols="50"/>
9 html:password
該標(biāo)簽用于產(chǎn)生密碼框,同HTML的<input type="password" …/>。
Eg1. <html:password property="pass" maxlength="24"/>
生成的HTML為:
<input type="password" name="pass" maxLength="24"/>
10 html:hidden
該標(biāo)簽用于產(chǎn)生隱藏字段,同HTML的<input type="hidden">,這種字段不再jsp頁面顯示,它一般用于傳遞數(shù)據(jù)。使用舉例如下:
Eg1. <html:hidden property="loginName" value="amigoxie"/>
產(chǎn)生的HTML如下所示:
<input type="hidden" name="loginName" value="amigoxie"/>
11 html:submit
該標(biāo)簽用于產(chǎn)生提交按鈕,同HTML的<input type="submit" …/>,使用舉例如下:
Eg1. <html:submit property="submit" value="提 交"/>
產(chǎn)生的HTML語句如下:
<input type="submit" value="提 交"/>