数据绑定流程
1.mvc主框架将ServletRequest对象及目标方法入参实例传递给WebDataBinderFactory实例
以创建DataBinder实例对象
2.DataBinder调用装配在Springmvc上下文中的ConversionService组件进行数据类型转换。
数据格式化工作。将Servlet中的请求信息填充到入参对象中
3.调用Validate组件对已经绑定的请求消息入参对象进行数据合法性校验,并最终生成数据绑定
结果BindingData对象
4.Springmvc抽取BindingResult中入参对象和校验错误对象,将它们赋给处理方法的响应入参
package com.hous.crud.converter; import org.springframework.core.convert.converter.Converter; import org.springframework.stereotype.Component; import com.hous.crud.bean.Department; import com.hous.crud.bean.Employee; @Component public class EmployeeConverter implements Converter<String, Employee> { @Override public Employee convert(String source) { if(source != null) { String[] values = source.split("/"); //hous/me@125.com/1/103 if (values != null && values.length == 4) { String lastName = values[0]; String email = values[1]; Integer gender = Integer.parseInt(values[2]); Department department = new Department(); department.setId(Integer.parseInt(values[3])); Employee employee = new Employee(null, lastName, email, gender, department); return employee; } } return null; } }
<mvc:annotation-driven conversion-service="conversionService"/> <!-- 将自定义的转换器注册到springmvc上下文中 --> <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean"> <property name="converters"> <set> <ref bean="employeeConverter"/> </set> </property> </bean>
<form action="emp/add" method="post"> <input name="employee" type="text" value="hous/me@125.com/1/103"> <input type="submit" value="提交"/> </form> @RequestMapping(value={"/emp","/emp/add"}, method=RequestMethod.POST) private String add(Employee employee){ employeeDao.save(employee); return "redirect:/list"; }
@InitBinder
由@InitBinder标识的方法,可以对WebDataBinder对象进行初始化。
WebDataBinder是DataBinder的子类,用来完成由表单字段到JavaBean属性绑定
@InitBinder方法不能有返回值,必须声明为void
@InitBinder方法参数通常是WebDataBinder
@InitBinder public void initBinder(WebDataBinder dataBinder) { dataBinder.setDisallowedFields("lastName"); }
关于mvc:annotation-driven
<mvc:annotation-driven/>会自动注册
RequestMappingHandlerMapping,
RequestMappingHandlerAdapter,
ExceptionHandlerExceptionResolver三个bean
还提供以下支持:
-支持ConversionService实例对表单参数进行类型转换
-支持使用@NumberFormat、@DataTimeFormat注解完成数据类型的格式化
-支持使用@valid注解对JavaBean实例JSR303验证
-支持使用@RequestBody和@ResponseBody注解
@DateTimeFormat(pattern="yyyy-MM-dd") private Date birth; @NumberFormat(pattern="#,###,###.#") private Float salary;
相关推荐
本示例主要关注如何将数据绑定到`DataGridView`并格式化单元格内容,这对于创建用户友好的界面和提升数据可视化效果至关重要。 首先,数据绑定是将数据源(如数据库、数组或集合)与`DataGridView`关联的过程,使得...
- **Bind()**:与Eval类似,但还支持双向数据绑定和格式化输出。 8. **自定义数据绑定** - **IQueryable/IEnumerable接口**:控件可以直接绑定到实现了这些接口的对象,允许在运行时动态生成查询。 - **控件事件...
例如,在view_DP子程序中,我们使用TextMatrix属性来绑定数据到MSHFlexGrid控件上,并实现数据的格式化和计算。 数据格式化 数据格式化是VB数据库编程中的一项重要技术,用于实现数据的显示和编辑。在本文档中,...
本文将深入探讨如何在C#环境中使用DevExpress的ChartControl进行数据绑定,以创建交互式、丰富的数据图表。 1. **DevExpress ChartControl简介** DevExpress ChartControl是一款功能齐全的图表组件,它支持多种...
因此,如果要在数据绑定完成后进行格式化,只能依赖ItemDataBound事件。 模板格式化是一个强大的功能,可以在DetailsView或GridView中使用TemplateFields属性,或者在FormView中使用template,从而在***页面的code-...
本指南将深入讲解如何利用样式和数据绑定来格式化`DataGrid`,以提高用户体验和视觉吸引力。我们将讨论以下几个关键知识点: 1. **数据绑定基础**:在WPF中,数据绑定是连接UI元素与数据源的核心机制。它允许UI动态...
在ASP.NET中,数据绑定是一项核心功能,它使得开发者能够轻松地将Web应用程序的界面元素与数据源连接起来,动态地展示、编辑和管理数据。本实验“实验4 _数据绑定_asp.net数据绑定_”主要关注两个关键控件:GridView...
五、数据绑定控件的格式化 数据绑定控件可以通过不同的字段类型和模板来自定义显示样式: 1. **字段类型**:如BoundField、CheckBoxField、CommandField等,以及自定义的TemplateField。 2. **模板**:ItemTemplate...
数据源控件和数据绑定控件之间的关联是通过数据绑定机制实现的,数据绑定控件可以通过设置其 DataSource 属性指向一个数据源控件实例,然后通过调用 DataBind 方法来填充控件中的数据。 例如,`GridView` 控件可以...
在C#编程中,`DataGridView`控件是一个非常重要...总之,`C# datagridview 绑定数据后绑定标题`是一个涵盖数据绑定和界面定制的多方面话题。通过熟练掌握这些技巧,开发者能够创建出功能强大且用户友好的数据展示界面。
在这个主题中,我们将探讨 EasyUI 的几个核心知识点:基本布局、tree 菜单数据的绑定、DataGrid 数据查询和数据绑定以及分页功能。 首先,我们来看 EasyUI 的基本布局。EasyUI 提供了一套灵活的布局系统,允许...
通过以上详细解析,我们可以看到数据绑定不仅是一项强大的数据可视化工具,同时也是连接GIS技术与业务数据分析的重要桥梁,极大地提升了数据的可用性和分析效率。掌握MAPX中的数据绑定技术,对于从事地理信息系统、...
3. 除了简单的列绑定,还可以实现复杂的表达式绑定,比如计算列、条件格式化等。 **内绑定**: 1. 内绑定是指在一个数据集内部,将一个数据集的结果作为另一个数据集的输入。这种情况下,通常使用子数据集来实现。 ...
这个“WPF界面数据绑定例子”提供了深入理解和实践这一功能的绝佳机会。WPF的数据绑定旨在简化UI开发,通过将业务逻辑与用户界面分离,使得开发者可以更专注于数据处理,而不是手动更新界面。 数据绑定的基础在于...
`StringFormat`用于格式化`UserAge`的显示。 **文件结构与作用** 在提供的文件列表中,我们可以看到以下几个关键文件: 1. **App.config**:应用程序的配置文件,可能包含数据库连接字符串或其他应用设置。 2. **...
在这个项目中,虽然没有使用传统的数据库,而是选择了XML作为数据存储格式,但数据绑定的概念依然得以应用。下面将详细探讨C#数据绑定的基本原理、简单绑定和复杂绑定的实现,以及如何利用XML作为数据源。 首先,...
DataBinder类还支持自动类型转换和格式化,使得数据绑定更加灵活。 数据绑定表达式的解析通常在页面生命周期的`DataBind()`方法调用时进行。开发者可以选择为整个页面或特定控件调用这个方法,以确保数据在需要时...
实例188 格式化订货金额和订单日期并 进行绑定 301 实例189 使用绑定表达式高亮显示搜索关键字 302 实例190 Eval()绑定图书图片并实现单击图片 进行链接 304 实例191 Eval()方法绑定日志并用“…”代替 超长内容 ...
标题 "dojostateful 实现表单数据绑定" 涉及到的是Dojo Toolkit中的一个关键特性,即Stateful模式,它在处理用户界面(UI)和数据模型之间的交互时起到重要作用。Dojo Stateful对象是Dojo框架提供的一种状态管理工具...
5. **数据转换与验证**:在数据绑定过程中,可能需要对数据进行格式化、验证或转换,以确保数据的正确性和一致性。例如,日期格式化、非空检查或数值范围验证。 6. **性能优化**:大数据量时,有效的数据绑定策略能...