Spring MVC中如何通过 Checkbox 进行数据绑定
上一篇
/ 下一篇
2009-11-27 23:43:24 / 个人分类:TechUsage
第一种方式:
<c:forEach items= "${myFormBean.customerList}" var= "cust" varStatus= "status" > <c:out value = "${customerList.customerName}" / > <form.:checkbox path= "customerList[${status.index}].customerPremiumPaid" / > < /c:forEach>
注:其中form.:checkbox中的path指明了使用formbean中的那个对象的值进行绑定
绑定的规则如下:
对于Map类型的集合,[ ]运算符可以通过三种形式指定的key匹配Command对象中Map类型集合对应的元素:
mapping[key].number
mapping['key'].number
mapping["key"].number
对于与Map类型对应的表达式中的[ ]运算符所接受的参数不同,对于List或者Array类型的集合,[]运算符现在接受的是索引值(index)而不是key
list[0].number
array['1'].number
list["2"].number
如: <input type="text" name="phoneNumbers[0].number"/>
第二种方式:
<spring:bind path="command.myBooleanProperty">
<input type="hidden" name="_<c:out value="${status.expression}"/>">
<input type="checkbox" name="<c:out value="${status.expression}"/>" value="true" <c:if test="${status.value}">checked</c>
采用普通checkbox时,一定不要忘记上面红色部分。红色部分的目的在于当checkbox在提交时未选中时进行数据绑定,会将其对应的false值绑定到其对应的checkbox中。因为在提交form请求时,form只会把选中的checkbox值传过来并进行绑定,未选中的checkbox通过其对应的前缀带有“_”的hiden域进行“候补”绑定。
Spring官方的解释为:
If the checkbox has not been ticked therefore not sending a parameter back in the request, then spring automatically looks at the '_' prefixed hidden field and grabs the value from that.
另外需要注明的是,使用formbean中的数据进行表现层绑定的组件,都一定要位于form之中,这样才能够在提交的时候更新formbean中对应的数值
分享到:
相关推荐
在Spring MVC中,将Checkbox的值绑定到Model对象的int数据类型涉及到表单数据的处理、自定义编辑器以及模型绑定。以下是如何实现这个功能的详细步骤和解释: 首先,我们有一个User类,其中包含一些属性,如id、name...
在Spring MVC框架中,将checkbox的值绑定到model对象的int数据类型是一个常见的需求,特别是在处理用户表单数据时。以下是如何在Spring 3 MVC中实现这一功能的详细步骤: 首先,我们需要创建一个model对象,例如`...
**数据绑定**是SpringMVC中的一种机制,允许我们将用户通过表单或其他方式提交的请求参数自动绑定到控制器中的方法参数或者模型对象的属性上。这种绑定过程极大地简化了开发者的工作,无需手动从请求中获取每个参数...
- 如果有错误,Spring MVC会自动将错误信息绑定到模型中,然后返回到表单页面,`<form:errors>`标签会显示这些错误。 - 如果一切正常,控制器会处理数据并重定向到新的页面或者更新视图。 4. **表单标签实例** ...
在Spring MVC框架中,数据绑定和表单标签是开发Web应用程序时非常重要的组成部分。它们简化了控制器和视图之间的数据交换,并提供了强大的表单渲染功能。以下是对这两个概念的详细解释。 **数据绑定**: 数据绑定是...
这些标签是Spring Web MVC模块的一部分,能够与Spring的模型绑定机制无缝集成,简化了前端到后端的数据传递。 113.9.1. **配置** 在使用Spring的表单标签库之前,需要在JSP页面中引入Spring的Taglib。这通常在页面...
在本文中,我们将深入探讨SpringMVC框架中的数据绑定,这是Spring MVC开发中不可或缺的一部分,尤其是在处理用户输入和展示响应时。数据绑定是将HTTP请求参数与Java对象的属性关联的过程,极大地简化了Web应用程序的...
当用户提交表单时,Spring MVC会自动将表单数据绑定到指定的模型对象,然后在控制器中进行验证和处理。如果存在验证错误,这些错误可以通过BindingResult对象获取并在视图中显示。 总结,Spring Web MVC和Spring ...
Spring MVC提供了一系列标签来简化视图层的开发,如`<form:input>`、`<form:checkbox>`和`<form:radiobutton>`,用于表单元素的渲染和数据绑定。 **六、SpringMVC 拦截器** 拦截器用于在请求处理前和处理后执行...
6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.1.1. @Configurable object的单元测试 6.8.1.2. 多application context情况下的处理 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来...
Spring MVC 提供了数据绑定功能,使得表单数据能自动绑定到 Controller 方法的参数上。 (5)返回 ModelAndView Controller 处理完业务逻辑后,返回一个 ModelAndView 对象,该对象包含了处理结果模型数据和视图名...
Spring Framework 提供了一套支持数据绑定的标签集合,用于处理表单元素。这些标签来自 Spring 的表单标签库,从 2.0 版本开始,如果使用 JSP 和 Spring Web MVC 的话。每个标签所支持的属性集合和与其对应的 HTML ...
在Spring MVC框架中,高级参数绑定是一个核心特性,它允许开发者高效地处理HTTP请求中的数据,包括多选、数组和集合等复杂类型的参数。在这个场景中,我们需要实现一个功能,让用户能够在商品列表页面上选择多个商品...
6.8.1. 在Spring中使用AspectJ进行domain object的依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7...
除了上述标签,Spring Form还提供了其他标签,如`<form:textarea>`、`<form:hidden>`等,它们都遵循Spring MVC的数据绑定和验证机制,使得在JSP页面上的表单处理变得简单而高效。 Spring Form标签库与JSTL(Java...
数据绑定是将用户输入绑定到领域模型的一种特性,有了数据绑定后,SpringMVC将会为我们自动进行格式转换。例如,在实现产品保存功能时,我们可以使用Product对象来接收用户输入,而不需要手动进行格式转换。 public...
这些标签库自2.0版本起就已包含在`spring.jar`中,它们的主要目的是与Spring Web MVC框架紧密集成,以便更好地处理表单数据绑定和控制器交互。标签库的描述符文件名为`spring-form.tld`。 要在JSP页面中使用这些...
6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. ...
TLD是JavaServer Pages (JSP)标准的一部分,它定义了一组自定义标签及其属性,使得在JSP页面中能够方便地操作Spring MVC中的表单元素。这篇博文链接虽然缺失,但我们可以根据主题推测其内容可能涉及如何使用Spring ...
6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. ...