一鳄虱、使用 Spring 的表單標(biāo)簽
通過(guò) SpringMVC 的表單標(biāo)簽可以實(shí)現(xiàn)將模型數(shù)據(jù)中的屬性和 HTML 表單元素相綁定,以實(shí)現(xiàn)表單數(shù)據(jù)更便捷編輯和表單值的回顯
二凭峡、form 標(biāo)簽
一般情況下拙已,通過(guò) GET 請(qǐng)求獲取表單頁(yè)面,而通過(guò)POST 請(qǐng)求提交表單頁(yè)面摧冀,因此獲取表單頁(yè)面和提交表單 頁(yè)面的 URL 是相同的倍踪。只要滿足該最佳條件的契約系宫, <form:form>標(biāo)簽就無(wú)需通過(guò) action 屬性指定表單 提交的 URL
可以通過(guò) modelAttribute 屬性指定綁定的模型屬性,若 沒(méi)有指定該屬性建车,則默認(rèn)從 request 域?qū)ο笾凶x取command 的表單 bean扩借,如果該屬性值也不存在咨油,則會(huì)發(fā)生錯(cuò)誤车遂。
三铆农、表單標(biāo)簽
SpringMVC 提供了多個(gè)表單組件標(biāo)簽陪每,如<form:input/>测垛、<form:select/>?等混卵,用以綁定表單字段的 屬性值入撒,它們的共有屬性如下:
path:表單字段疙剑,對(duì)應(yīng) html 元素的 name 屬性戒突,支持級(jí)聯(lián)屬性
htmlEscape:是否對(duì)表單值的 HTML 特殊字符進(jìn)行轉(zhuǎn)換屯碴,默認(rèn)值 為 true
cssClass:表單組件對(duì)應(yīng)的 CSS 樣式類名
cssErrorClass:表單組件的數(shù)據(jù)存在錯(cuò)誤時(shí),采取的 CSS 樣式
form:input膊存、form:password导而、form:hidden、form:textarea:對(duì)應(yīng) HTML 表單的 text隔崎、password今艺、hidden、textarea標(biāo)簽
form:radiobutton:?jiǎn)芜x框組件標(biāo)簽爵卒,當(dāng)表單 bean 對(duì)應(yīng)的 屬性值和 value 值相等時(shí)虚缎,單選框被選中
form:radiobuttons:?jiǎn)芜x框組標(biāo)簽,用于構(gòu)造多個(gè)單選框
items:可以是一個(gè) List钓株、String[] 或 Map
itemValue:指定 radio 的 value 值实牡。可以是集合中 bean 的一個(gè) 屬性值
itemLabel:指定 radio 的 label 值
delimiter:多個(gè)單選框可以通過(guò) delimiter 指定分隔符
form:checkbox:復(fù)選框組件轴合。用于構(gòu)造單個(gè)復(fù)選框
form:checkboxs:用于構(gòu)造多個(gè)復(fù)選框创坞。使用方式同form:radiobuttons 標(biāo)簽
form:select:用于構(gòu)造下拉框組件。使用方式同form:radiobuttons 標(biāo)簽
form:option:下拉框選項(xiàng)組件標(biāo)簽受葛。使用方式同form:radiobuttons 標(biāo)簽
form:errors:顯示表單組件或數(shù)據(jù)校驗(yàn)所對(duì)應(yīng)的錯(cuò)誤
<form:errors path= “ *” />:顯示表單所有的錯(cuò)誤
<form:errors path= “ user*” />:顯示所有以 user 為前綴的屬性對(duì)應(yīng)的錯(cuò)誤?
<form:errors path= “ username” />:顯示特定表單對(duì)象屬性的錯(cuò)誤