1、JSP添加标签库标识
<%@taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
2、添加控制器
public String springformadd(@Valid User user, BindingResult bindingResult, Model model){
if(bindingResult.hasErrors()){
return "user/add";
}
return "show";
}
3、使用spring form 标签
<h1>添加用户2</h1>
<form:form action="${pageContext.request.contextPath}/form/user" method="post" modelAttribute="user" >
<p>
id:
<form:input path="id"></form:input><form:errors path="id"></form:errors>
</p>
<p>
username:<form:input path="username"></form:input><form:errors path="username"></form:errors>
</p>
<p>
birthday:<form:input path="birthday"></form:input><form:errors path="birthday"></form:errors>
</p>
<p>
balance:<form:input path="balance"></form:input><form:errors path="balance"></form:errors>
</p>
<p>
salary:<form:input path="salary"></form:input><form:errors path="salary"></form:errors>
</p>
<p>
taskCount:<form:input path="taskCount"></form:input><form:errors path="taskCount"></form:errors>
</p>
<p>
hobbies:
<form:checkbox path="hobbies" value="唱歌"></form:checkbox>
<form:label path="hobbies">唱歌</form:label>
<form:checkbox path="hobbies" value="跳舞"></form:checkbox>
<form:label path="hobbies">跳舞</form:label>
<form:checkbox path="hobbies" value="美食"></form:checkbox>
<form:label path="hobbies">美食</form:label>
<form:errors></form:errors>
</p>
<p>
<form:button value="提交">提交</form:button>
</p>
</form:form>
<form:form method="put"></form:form>
4、注意 页面显示一定要在控制器中写方法 绑定URL ,并将user传入参数
@RequestMapping("/user/add")
public String addView(User user){
return "user/add";
}
Form标签库好处: 1、支持全部http请求方法 put delete
2、数据自动回显 需要使用modelAttribute 指定数据的对象
3、 使用path来双向绑定
4、Select checkboxex radiobottons 都可以使用Items制定数据源。可以是list(需要定制itemValue和itemLabel)、map(不需要定制itemvalue 和 itemLabel).
5、checkboxex 初始化需要用数组或list
1、控制器分布参数
@ModelAttribute
public void initData(Model model){
List<String> list = new ArrayList<>();
list.add("狗");
list.add("锚");
list.add("鸟");
list.add("乌龟");
model.addAttribute("alist",list);
List<String> list2 = Arrays.asList("你好","我好","大家好");
model.addAttribute("list2",list2);
model.addAttribute("list3",list2);
Map<String,String> map2 = new HashMap<>();
map2.put("zs","张三");
map2.put("ls","李四");
model.addAttribute("map2",map2);
}
2、JSP调用
<form:form method="post" modelAttribute="user">
<select>
<option value="1">啊狗</option>
<option value="2">啊毛</option>
<option value="3">啊鸟</option>
<option value="4">啊雕</option>
</select>
<br>
<form:checkboxes path="hobbies" items="${alist}"></form:checkboxes>
</form:form>