Spring MVC框架:第八章:表單form:form標簽
第六章 表單標簽
SpringMVC也提供了一組類似JSTL的標簽,供我們在頁面上簡化開發(fā)。下面是個例子:
<form:form action="${pageContext.request.contextPath }/emp" method="post" modelAttribute="employee">
<input type="hidden" name="_method" value="put"/>
<form:hidden path="empId"/>
<table align="center">
<tr>
<td colspan="2" align="center">編輯員工</td>
</tr>
<tr>
<td>姓名</td>
<td>
<form:input path="empName"/>
</td>
</tr>
<tr>
<td>社會保險號</td>
<td>${requestScope.employee.ssn }</td>
</tr>
<tr>
<td>所在部門</td>
<td>
<form:select path="department.deptId" items="${requestScope.deptList }" itemValue="deptId" itemLabel="deptName"/>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="更新"/>
</td>
</tr>
</table>
</form:form>
1.導入標簽庫
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
2.form:form標簽
①action屬性
和HTML標簽中的form標簽的action屬性作用一致,用來設置表單提交的URL地址。如果form:form標簽省略action屬性,那么會使用當前表單所在頁面的URL地址作為action屬性的值。
②modelAttribute屬性
該標簽無論是執(zhí)行保存還是更新操作,都要從請求域中讀取模型數(shù)據(jù)。如果沒有設置modelAttribute屬性那么就以command為屬性名從請求域中讀取。如果找不到則會拋出異常。
所以要想form:form標簽正常工作一定要將一個模型對象保存到請求域中,哪怕是保存數(shù)據(jù)時也要創(chuàng)建一個空對象保存。
3.表單標簽的共同屬性
①path
表單字段,對應HTML元素的name屬性,支持級聯(lián)屬性。
②htmlEscape
是否對表單值的HTML特殊字符進行轉(zhuǎn)換,默認值為true。
③cssClass
表單組件對應的CSS樣式類名。
④cssErrorClass
表單組件的數(shù)據(jù)存在錯誤時,采取的CSS樣式。
4.form:radiobuttons
單選框組標簽,用于構造多個單選框
①items
可以是一個List、String[]或Map
②itemValue
通過指定bean的一個屬性名生成radio的value值??梢允羌现衎ean的一個屬性值
③itemLabel
通過指定bean的一個屬性名生成radio的label值
④delimiter
多個單選框可以通過delimiter指定分隔符
5.form:errors
顯示表單組件或數(shù)據(jù)校驗所對應的錯誤 <form:errors path=””/>:顯示表單所有的錯誤 <form:errors path=”user”/>:顯示所有以user為前綴的屬性對應的錯誤 <form:errors path=”userName”/>:顯示特定表單對象屬性的錯誤