1、表單標籤庫:
表單標籤庫中的全部標籤
一、form標籤:
form標籤的屬性
commandName屬性是其中最重要的屬性,它定義了模型屬性的名稱,其中包含了一個綁定的JavaBean對象,該對象的屬性將用於填充所生成的表單。若commandName屬性存在,則必須在返回包含表單的視圖的請求處理方法中添加響應的模型屬性。
一般咱們都會指定commandName或modelAttribute屬性,指定綁定到的JavaBean的名稱,這兩個屬性功能基本一致
二、input標籤
inpub標籤的屬性
示例:form和input的使用
(1)定義頁面(reg.jsp)
<h2>註冊頁面</h2>
<form:form method="post" action="toForm">
<table>
<tr>
<td>姓名:</td>
<td>
<form:input path="username"/>
</td>
</tr>
<tr>
<td>性別:</td>
<td>
<form:input path="sex"/>
</td>
</tr>
<tr>
<td>年齡:</td>
<td>
<form:input path="age"/>
</td>
</tr>
</table>
</form:form>
(2)實體類:
public class Customer implements Serializable {
private static final long serialVersionUID = 1L;
private String username;
private String sex;
private Integer age;
}
(3)控制器
@Controller
public class FormController {
@GetMapping(value="/toForm")
public String registerForm(Model model) {
Customer customer = new Customer("jack","男",28);
model.addAttribute("command",customer);
return "reg";
}
}
注意:
A、SpringMVC指定from標籤默認自動綁定的是Model的command屬性
B、當form表單對象對應的屬性名稱不是command時,可使用commandName或modelAttribute屬性來form表單對象對應的屬性名。
<form:form modelAttribute="user" method="post" action="toForm">
對應的控制器中改成:
model.addAttribute("user",customer);
三、password標籤
-
<form:password path="password"/>
-
<!-- 上述的springmvc的標籤會被設置成下方的html格式-->
-
<input name="password" type="password"/>
四、hidden標籤
五、textarea標籤
-
<form:textarea path="book" cols="12" rows="12"/>
-
<!-- 上述的springmvc的標籤會被設置成html中的-->
-
<textarea rows="12" cols="12" name="book"></textarea>
六、CheckBox標籤
列表數據能夠包括List,Set和數組。value值在咱們綁定中的數據時,CheckBox的狀態爲選中。
<form:checkbox path="coures" label="java" value="java"/>
<form:checkbox path="coures" label="Golang" value="Golang"/>
<form:checkbox path="coures" label="CPP" value="CPP"/>
七、checkboxes標籤
八、radiobutton標籤
九、radiobuttons標籤
十、select標籤
十一、option標籤
十二、options標籤
示例:
(1)實體類:
public class Customer implements Serializable {
private static final long serialVersionUID = 1L;
private String username;
private String sex;
private Integer age;
private List<Integer> courses;
private Integer depId;
}
(2)控制器
@Controller
public class FormController {
@GetMapping(value="/toForm")
public String registerForm(Model model) {
Customer customer = new Customer("jack","男",28);
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(3);
customer.setCourses(list);
Map<Integer,String> courseMap = new HashMap<>();
courseMap.put(1,"JavaEE");
courseMap.put(2,"Mybatis");
courseMap.put(3,"SpringMVC");
Map<Integer,String> depMap = new HashMap<>();
depMap.put(1, "研發部");
depMap.put(2,"財務部");
depMap.put(3, "銷售部");
customer.setDepId(3);
model.addAttribute("user",customer);
model.addAttribute("courseMap", courseMap);
model.addAttribute("depMap", depMap);
return "reg";
}
}
(3)視圖
選擇課程:
<form:checkboxes items="${courseMap}" path="courses"/>
<br><br>
部門:
<form:select path="depId" items="${depMap }"></form:select>