http://stackoverflow.com/questions/12544479/spring-mvc-type-conversion-propertyeditor-or-converter
PropertyEditor Converter是spring 使用的两种对象转换方式
public class CategoryEditor extends PropertyEditorSupport {
// Converts a String to a Category (when submitting form)
@Override
public void setAsText(String text) {
Category c = new Category(text);
this.setValue(c);
}
// Converts a Category to a String (when displaying form)
@Override
public String getAsText() {
Category c = (Category) this.getValue();
return c.getName();
}
}
@InitBinder
public void initBinder(WebDataBinder binder) {
binder.registerCustomEditor(Category.class, new CategoryEditor());
binder.setConversionService(conversionService);//conversionService也可以在这注册
}
统一配置时,实现 WebBindingInitializer 接口:
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="cacheSeconds" value="0" />
<property name="webBindingInitializer">
<bean class="org.springframework.samples.petclinic.web.ClinicBindingInitializer" />
</property>
</bean>
converter方式
public class StringToCategory implements Converter<String, Category> {
@Override
public Category convert(String source) {
Category c = new Category(source);
return c;
}
}
public class CategoryToString implements Converter<Category, String> {
@Override
public String convert(Category source) {
return source.getName();
}
}
[xml]
<bean id="conversionService"
class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<list>
<bean class="somepackage.StringToCategory"/>
<bean class="somepackage.CategoryToString"/>
</list>
</property>
</bean>
ctx.getBea("conversionService")取到对象,ctx.getBea("&conversionService")取到factorybean.
[java]
@EnableWebMvc
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
protected void addFormatters(FormatterRegistry registry) {
registry.addConverter(new StringToCategory());
registry.addConverter(new CategoryToString());
}
}
实现ConditionalGenericConverter 接口可以处理很多相似转换,类亿DomainClassConverter
分享到:
相关推荐
10. **Conversion and Validation**: Spring MVC提供了数据转换和验证功能,如使用`@RequestParam`、`@PathVariable`注解自动转换参数,以及使用`@Valid`和`BindingResult`进行表单验证。 11. **Tiles or Layouts**...
8. **Conversion and Validation**: Spring MVC提供了一套完整的数据绑定、类型转换和验证机制。比如,@RequestParam、@PathVariable等注解用于从请求参数中获取数据,@Valid用于数据验证。 9. **Tiles, FreeMarker...
Spring MVC 是一款强大的Java Web开发框架,用于构建高效、可维护的Web应用程序。它作为Spring框架的一部分,提供了模型-视图-控制器(MVC)架构模式的实现,帮助开发者将业务逻辑、数据处理和用户界面分离,使得...
Spring MVC 3.1.0通过提供数据绑定(Data Binding)和类型转换(Type Conversion)机制,简化了这个过程。 1. 数据绑定:Spring MVC的数据绑定允许我们直接将HTTP请求参数映射到控制器方法的参数上。例如,一个`@...
Spring MVC和Web Flow是两种广泛应用于Java Web开发的技术。Spring MVC是Spring框架的一部分,主要用于构建高效、可维护的Web应用程序,而Web Flow则是一个用于管理用户交互流程的强大工具,尤其适用于处理复杂的...
总结来说,Spring 的类型转换机制是一个强大而灵活的系统,它涵盖了从传统的 `PropertyEditor` 到现代的 `Converter` 和 `GenericConverter` 接口。理解并掌握这一机制,可以帮助开发者更好地处理应用程序中的类型...
Spring MVC 是一款基于Java的轻量级Web应用框架,它为构建MVC(Model-View-Controller)模式的Web应用程序提供了强大的支持。本资源“spring mvc 架构源代码”是一个完整的、可运行的Spring MVC项目,适用于初学者和...
在Spring MVC中,这种复杂性可以通过模型绑定(Model Binding)和数据转换(Data Conversion)机制来简化处理。 1. **模型绑定**: Spring MVC支持基于注解的模型绑定,允许开发者通过`@ModelAttribute`注解将HTTP...
Spring MVC 是一个基于Java的轻量级Web应用框架,它为构建模型-视图-控制器(Model-View-Controller,MVC)结构的Web应用程序提供了一种强大的解决方案。面试中,Spring MVC的原理通常涉及以下几个核心概念: 1. **...
Complete A/D Converter with Reference and Clock Fast Successive Approximation Conversion: 25 ms No Missing Codes Over Temperature
9. **Conversion and Validation**:Spring MVC提供了自动类型转换和数据验证的功能,如使用`@DateTimeFormat`进行日期格式化,`@Valid`进行数据校验。 10. **AOP(面向切面编程)**:Spring MVC可以与Spring的AOP...
9. **Conversion and Formatting**:Spring MVC有内置的转换服务,可以自动将不同类型的值转换为期望的类型,如日期、数字等。 Spring MVC与Mybatis的结合使用则进一步增强了应用程序的功能。Mybatis是一个轻量级的...
8. **Conversion and Formatting**:Spring MVC提供了数据转换和格式化服务,自动将请求参数转换为Java对象,或将Java对象转换为字符串。 9. **ExceptionHandler**:通过`@ExceptionHandler`注解,开发者可以定义...
7. **类型安全的转换服务(Conversion Service)**:Spring 5提供了类型安全的转换服务,能够自动处理类型之间的转换,避免了常见的类型转换错误。 8. **Java 8及更高版本的支持**:Spring 5全面支持Java 8和更高...
Spring MVC 是一款强大的Java Web开发框架,用于构建高效、可维护的Web应用程序。它基于Spring框架,提供了模型-视图-控制器(MVC)架构,简化了开发流程,实现了业务逻辑与视图的分离,提高了代码的可测试性和可...
在Spring框架中,Bean的初始化是其生命周期中的关键步骤,特别是在单例模式下,Spring容器会确保在应用程序启动时创建并初始化所有非延迟加载的单例Bean。在本篇文章中,我们将深入探讨Spring源码中关于Bean初始化的...
Spring MVC 是一个强大的Java Web开发框架,由Spring社区开发并维护。它提供了模型-视图-控制器(MVC)架构模式,使得开发者可以方便地构建高效、可测试且灵活的Web应用程序。在这个“spring-mvc:springmvc源码学习...
Michael-Cook-Spring_Conversion 具有端点的基本Java应用程序进行转换以以下格式{值:double单位:字符串}接受端点的所有输入数据的JSON,所有数据均以相同的JSON格式返回运行part1 ./mvnw spring-boot:run 由于...
`image-conversion`是一个专门针对JavaScript环境的图像转换工具,它提供了便捷的接口,允许开发者根据需求调整图像尺寸并进行压缩,以适应各种应用场景。本文将深入探讨`image-conversion`的使用方法、核心功能以及...