2.3 HTML標記
Struts HTML標記可以大致地分為以下幾個功能:
顯示表單元素和輸入控件
顯示錯誤信息
顯示其他HTML元素
2.3.1 顯示表單元素和輸入控件
struts將HTML表單與為表單操作而定義的ActionForm bean緊密聯系在一起。表單輸入字段的名稱與ActionForm bean里定義的屬性名稱是對應的。當第一次顯示表單時,表單的輸入字段是從ActionForm bean中移植過來的,當表單被提交時,請求參數將移植到ActionForm bean實例。
所有可以在<form>標記中使用的用來顯示HTML輸入控件的內嵌標記都使用下列屬性來定義javascript事件處理器。
屬性描述Onblur 字段失去了焦點Onchange 字段失去了焦點并且數值被更改了onclick 字段被鼠標點擊Ondblclick 字段被鼠標雙擊Onfocus 字段接收到輸入焦點onkeydown 字段擁有焦點并且有鍵按下
20
onkeypress 字段擁有焦點并且有鍵按下并釋放onkeyup 字段擁有焦點并且有鍵被釋放onmousedown 鼠標指針指向字段并且點擊onmousemove 鼠標指針指向字段并且在字段內移動onmouseout 鼠標指針指向控件,但是指針在元素外圍移動onmouseover 鼠標指針沒有指向字段,但是指針在元素內部移動onmouseup 鼠標指針指向字段,并且釋放了鼠標按鍵
<form>元素中能夠被定義的其他一般屬性有:
屬性描述Accesskey 定義訪問輸入字段的快捷鍵Style 定義輸入字段的樣式styleClass 定義輸入字段的樣式表類Tabindex 輸入字段的tab順序
a) 表單標記
<html:form>標記用來顯示HTML標記,可以指定AcitonForm bean的名稱和它的類名。如果沒有設置這些屬性,就需要有配置文件來指定ActionMapping以表明當前輸入的是哪個JSP頁,以及從映射中檢索的bean名和類。如果在ActionMapping指定的作用域中沒有找到指定的名稱,就會創建并存儲一個新的bean,否則將使用找到的bean。
<form>標記能夠包含與各種HTML輸入字段相對應的子標記。
<html:form>標記屬性如下:
屬性描述Action 與表單相關的操作。在配置中,這個操作也用來標識與表單相關的ActionForm bean Enctype 表單HTTP方法的編碼類型Focus 表單中需要初始化焦點的字段Method 表單使用的HTTP方法Name 與表單相關的ActionForm bean的名稱。如果沒有設置這個屬性,bean的名稱將會從配置信息中獲得Onreset 表單復位時的javascript事件句柄Onsubmit 表單提交時的javascript事件句柄Scope 搜索ActionForm bean的范圍。如果沒有設置,將從配置文件中獲取Style 使用的格式styleClass 這個元素的格式表類Type ActionForm bean的完整名稱。如果沒有設置,將從配置文件獲得
例如:
<html:form action=”validateEmploee.do” method=”post”>
</html:form>
與表單相關的操作路徑是validateEmployee,而表單數據是通過POST傳遞的。對于這個表單來說,ActionForm bean的其他信息,如bean名稱類型,作用域,都是從表單指定操作的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,與表單相關的ActionForm bean的名稱,類型和作用域分別是empForm,com.example.EmployeeForm和request.這些屬性也可以使用<html:form>標記屬性進行顯示的定義。
以下標記必須嵌套在<html:form>標記里
b) 按鈕和取消標記
<html:button>標記顯示一個按鈕控件;<html:cancel>標記顯示一個取消按鈕。屬性如下:
屬性描述Property 定義在表單被提交時返回到服務器的請求參數的名稱value 按鈕上的標記
文章來源于領測軟件測試網 http://www.kjueaiud.com/