SpringMVC的标签库
一、表单标签库:
表单标签库中的所有标签
1、form标签:
form标签的属性
commandName属性是其中最重要的属性,它定义了模型属性的名称,其中包含了一个绑定的JavaBean对象,该对象的属性将用于填充所生成的表单。若commandName属性存在,则必须在返回包含表单的视图的请求处理方法中添加响应的模型属性。
通常我们都会指定commandName或modelAttribute属性,指定绑定到的JavaBean的名称,这两个属性功能基本一致
2、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);
3、password标签
-
<form:password path="password"/>
-
<!-- 上述的springmvc的标签会被设置成下方的html格式-->
-
<input name="password" type="password"/>
4、hidden标签
-
<form:hidden path="id"/>
-
<!-- 上述的springmvc的标签会被设置成下方的html格式-->
-
<input name="id" type="hidden"/>
5、textarea标签
-
<form:textarea path="book" cols="12" rows="12"/>
-
<!-- 上述的springmvc的标签会被设置成html中的-->
-
<textarea rows="12" cols="12" name="book"></textarea>
6、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"/>
7、checkboxes标签
8、radiobutton标签
9、radiobuttons标签
10、select标签
11、option标签
12、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>