通過 SpringMVC 的表單標簽可以實現將模型數據中的屬性和 HTML 表單元素相綁定,以實現表單數據更便捷編輯和表單值的回顯。
一般情況下,通過 GET 請求獲取表單頁面,而通過 POST 請求提交表單頁面,因此獲取表單頁面和提交表單頁面的 URL 是相同的。只要滿足該最佳條件的契約,
<form:form> 標簽就無需通過 action 屬性指定表單 提交的 URL。
可以通過 modelAttribute 屬性指定綁定的模型屬性,若沒有指定該屬性,則默認從 request 域對象中讀取 command 的表單 bean,如果該屬性值也不存在,則會發生錯誤。
SpringMVC 提供了多個表單組件標簽,如<form:input/>、<form:select/> 等,用以綁定表單字段的屬性值,它們的共有屬性如下:
- path:表單字段,對應 html 元素的 name 屬性,支持級聯屬性
表單組件標簽
- form:input、form:password、form:hidden、form:textarea:對應 HTML 表單的 text、password、hidden、textarea標簽
- form:radiobutton:單選框組件標簽,當表單 bean 對應的 屬性值和 value 值相等時,單選框被選中
- form:radiobuttons:單選框組標簽,用於構造多個單選框
- items:可以是一個 List、String[] 或 Map
- itemValue:指定 radio 的 value 值。可以是集合中 bean 的一個 屬性值
- itemLabel:指定 radio 的 label 值
- delimiter:多個單選框可以通過 delimiter 指定分隔符
- form:checkbox:復選框組件。用於構造單個復選框
- form:checkboxs:用於構造多個復選框。使用方式同 form:radiobuttons 標簽
- form:select:用於構造下拉框組件。使用方式同 form:radiobuttons 標簽
- form:option:下拉框選項組件標簽。使用方式同 form:radiobuttons 標簽
- form:errors:顯示表單組件或數據校驗所對應的錯誤
- <form:errors path= “ *” /> :顯示表單所有的錯誤
- <form:errors path= “ user*” /> :顯示所有以 user 為前綴的屬性對應的錯誤
- <form:errors path= “ username” /> :顯示特定表單對象屬性的錯誤
當需要表單回顯或者使用下拉列表的時候,就使用form表單標簽,而如果使用遍歷的標簽就使用JSTL標簽【導包】!
