同html的base元素。
2. html:cancel
该标签生成一个取消按钮。当点击该按钮后action servlet会绕过相应的form bean的validate()方法,同时将控制权交给相应的action。在action中可使用Action.isCancelled(HttpServletRequest)方法判断是否被取消了。如果返回true表示这个action被取消了,否则表示这个action没有被取消。
eg. <html:cancel>取消</html:cancel>
3. html:select
该标签生成一个select元素。multiple属性决定是否为多选。如果指定了multiple="true"则为多选,此时对应的属性应该是一个数组。否则,此时对应的属性应该是标量。
注意:为了正确的处理未作选择的情况,在ActionForm中的reset()方法中必须将标量属性设置为默认值而将数组的长度置为0。
另外的一个重要问题就是struts如何生成option元素了,这个任务struts交给了html:option、html:options和html:optionsCollection三个标签。
1)html:option
该标签生成一个HTML的option元素。该标签必须嵌在html:select标签中。它的显示文本来自其标签体,也可以来自于资源文件。
eg. <html:option value="red">red</html:option> <html:option value="blue">blue</html:option>
2)html:options
该标签生成多个HTML的option元素。该标签必须嵌在html:select标签中。
指定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标签
该标签生成多个HTML的option元素。其功能和html:options标签的相同。
<html:select name="selectForm" property="orgIds" size="1">
<html:optionsCollection name="selectForm" property="orgs" label="orgName" value="orgId"/>
</html:select>
4 html:img
该标签用于输出图片,同HTML的img标签。
Eg. <html:img page="logo.gif" height="50" width="200" alt="Web Logo"/>
5 html:link
该标签用于产生超链接,同HTML的<a/>标签。使用举例如下:
<html:link page="index.jsp">link测试</html:link>
此行代码解析后:
<a href="index.jsp">link测试</a>
6 html:form
该标签用于产生表单,同HTML的<form/>标签,标签中必须包含一个action属性,它是这个标签中唯一必需的属性。如果不具备该属性则JSP页面会抛出一个异常。之后你必须给这个action属性指定一个有效值。一个有效值是指应用程序的Struts的配置文件中元素里的任何一个子元素的访问路径。而且相应的元素中必须有一个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
该标签为<html:form/>的子标签,用于显示文本框,同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
该标签同HTML的<textarea/>标签,用于产生文本域,使用举例如下:
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
该标签用于产生密码框,同HTML的<input type="password" …/>。
Eg1. <html:password property="pass" maxlength="24"/>
生成的HTML为:
<input type="password" name="pass" maxLength="24"/>
10 html:hidden
该标签用于产生隐藏字段,同HTML的<input type="hidden">,这种字段不再jsp页面显示,它一般用于传递数据。使用举例如下:
Eg1. <html:hidden property="loginName" value="amigoxie"/>
产生的HTML如下所示:
<input type="hidden" name="loginName" value="amigoxie"/>
11 html:submit
该标签用于产生提交按钮,同HTML的<input type="submit" …/>,使用举例如下:
Eg1. <html:submit property="submit" value="提 交"/>
产生的HTML语句如下:
<input type="submit" value="提 交"/>