讲解“SpringMVC实现数据绑定及表单标签”的完整攻略如下:
讲解“SpringMVC实现数据绑定及表单标签”的完整攻略如下:
1. 数据绑定
SpringMVC通过数据绑定将请求参数映射到控制器方法的入参中。实现数据绑定需要在控制器方法入参前面添加@ModelAttribute注解,例如:
@RequestMapping(value="/user")
public String showUserInfo(@ModelAttribute("username") String username) {
// ...
}
通过上面的代码,SpringMVC会将请求参数中名为"username"的参数值绑定到控制器方法的"username"参数上。
除了简单类型外,SpringMVC还支持将表单参数映射到JavaBean对象中:
@RequestMapping(value="/user")
public String showUserInfo(@ModelAttribute("user") User user) {
// ...
}
通过上面的代码,SpringMVC会将请求参数中名为"user"的参数映射到User对象的属性中。
2. 表单标签
SpringMVC提供了丰富的表单标签,方便开发者在前端页面构建表单。常见的表单标签有:
2.1.
<form:form method="POST" action="${pageContext.request.contextPath}/user">
<!-- 表单内容 -->
</form:form>
上面的代码将生成一个POST请求的表单,提交地址为"/user"。
2.2.
<form:input path="username" />
上面的代码将生成一个name属性为"username"的文本框,文本框的值将与User对象的username属性绑定。
2.3.
<form:checkbox path="sports" value="basketball" />篮球
<form:checkbox path="sports" value="football" />足球
<form:checkbox path="sports" value="tennis" />网球
上面的代码将生成一个多选复选框,复选框的值将与User对象的sports属性绑定。
示例:
@RequestMapping(value="/user", method=RequestMethod.POST)
public String showUserInfo(@ModelAttribute("user") User user) {
// 输出绑定的User对象内容,检验是否成功绑定
System.out.println(user.toString());
return "result";
}
<form:form method="POST" action="${pageContext.request.contextPath}/user">
<label>用户名:</label>
<form:input path="username" /><br/>
<label>密码:</label>
<form:input path="password" /><br/>
<label>爱好(多选):</label>
<form:checkbox path="hobbies" value="basketball" />篮球
<form:checkbox path="hobbies" value="football" />足球
<form:checkbox path="hobbies" value="tennis" />网球
<br/><br/>
<input type="submit" value="提交" />
</form:form>
上面的示例代码将生成一个包含用户名、密码、爱好多选框的表单,提交后将把数据绑定到User对象中,并在控制器方法中输出User对象的内容。
以上就是关于“SpringMVC实现数据绑定及表单标签”的完整攻略,希望能对你有所帮助。
本文标题为:SpringMVC实现数据绑定及表单标签
基础教程推荐
- SpringBatch从入门到精通之StepScope作用域和用法详解 2022-11-29
- Java深入解析接口interface 2022-12-11
- JVM 运行时数据区与JMM 内存模型 2023-03-22
- java定时任务cron表达式每周执行一次的坑及解决 2022-12-07
- Java中实现两个线程交替运行的方法 2023-08-10
- 关于两个BeanUtils.copyProperties()的用法及区别 2023-01-08
- springboot通用分支处理超级管理员权限逻辑 2023-03-16
- IOC 容器启动和Bean实例化两个阶段详解 2023-04-12
- Maven中利用assembly插件打包jar包 2023-08-10
- JSP页面传值乱码过滤方法 2023-08-03