`

springmvc之数据类型转换

 
阅读更多

 一、springmvc集成数据转换框架:

 

1、自定义类型转换器,可根据需求实现Converter、GenericConverter、ConverterFactory之一皆可。如String-->PhoneNumber:

 

/**
 *自定义Sring转PhoneNumberModel的类型转换器
*/
public class StringToPhoneNumberConverter implements Converter<String, PhoneNumberModel> {  
    Pattern pattern = Pattern.compile("^(\\d{3,4})-(\\d{7,8})$");  
    @Override  
    public PhoneNumberModel convert(String source) {          
        if(!StringUtils.hasLength(source)) {  
            //①如果source为空 返回null  
            return null;  
        }  
        Matcher matcher = pattern.matcher(source);  
        if(matcher.matches()) {  
            //②如果匹配 进行转换  
            PhoneNumberModel phoneNumber = new PhoneNumberModel();  
            phoneNumber.setAreaCode(matcher.group(1));  
            phoneNumber.setPhoneNumber(matcher.group(2));  
            return phoneNumber;  
        } else {  
            //③如果不匹配 转换失败  
            throw new IllegalArgumentException(String.format("类型转换失败,需要格式[010-12345678],但格式是[%s]", source));  
        }  
    }  
}

 

/*
 * 座机电话数据模型
 */
public class PhoneNumberModel {
    private String areaCode;   //区号
    private String phoneNumber;  //电话号码

    public String getAreaCode() {
        return areaCode;
    }

    public void setAreaCode(String areaCode) {
        this.areaCode = areaCode;
    }

    public String getPhoneNumber() {
        return phoneNumber;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }
}

 

2、在springmvc-servlet.xml中注册自定义的转换器:

<!--注册自定义转换器-->
<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
	<property name="converters">
		<set>
			<bean class="com.mycompany.myapp.converter.StringToPhoneNumberConverter"/>
		</set>
	</property>
</bean>

<!--注册conversionService-->
<mvc:annotation-driven conversion-service="conversionService"/>

 

3、验证转换器:

@Controller
public class ConverterController {

    @RequestMapping("/converter/hello")
    @ResponseBody
    public Object converter(@ModelAttribute("phone") PhoneNumberModel phone) {
        return phone;
    }
}

   输入URL验证:http://localhost/converter/hello?phone=012-12345678

 

二、引用:

开涛的博客:http://jinnianshilongnian.iteye.com/blog/1723270

分享到:
评论

相关推荐

    SpringMVC数据类型转换超详细介绍

    ### SpringMVC 数据类型转换详解 #### 一、引言 在开发基于SpringMVC的Web应用程序时,数据类型转换、验证以及格式化是至关重要的环节。这些操作确保了前端输入的数据能够正确地被后端理解和处理,并且保证了系统...

    SpringMVC数据绑定及数据类型转换

    在SpringMVC中,数据绑定和数据类型转换是两个关键的概念,它们对于构建高效、健壮的Web应用至关重要。 **数据绑定**是SpringMVC中的一种机制,允许我们将用户通过表单或其他方式提交的请求参数自动绑定到控制器中...

    SpringMVC-8 数据类型转换、数据格式化与数据校验

    在Spring MVC框架中,数据类型转换、数据格式化和数据校验是开发Web应用程序时不可或缺的部分。这些功能有助于确保从客户端接收到的数据准确无误,同时提供了一种优雅的方式来处理和展示这些数据。本篇文章将深入...

    Spring MVC学习(七)-------SpringMVC数据类型转换

    ### Spring MVC 数据类型转换详解 #### 一、背景与需求 在进行Web应用开发时,尤其是在使用Spring MVC框架的过程中,经常需要对用户提交的数据进行处理,包括但不限于数据类型转换、数据验证以及数据格式化等操作...

    专题资料(2021-2022年)SpringMVC数据类型转换要点.doc

    【SpringMVC数据类型转换要点】专题资料详细解析 在SpringMVC中,数据类型转换、验证和格式化是Web应用程序开发中不可或缺的部分。在早期的Spring版本中,这一过程主要依赖于`PropertyEditor`来完成,但这种方法...

    SpringMVC实现自定义类型转换器

    但是,默认情况下,SpringMVC只能转换基本数据类型,如String转换成Integer、Double等。如果需要将字符串转换成自定义的实体类,SpringMVC并没有提供默认的功能。这时,我们需要自定义类型转换器,以实现字符串到...

    springmvc注解式控制器的数据验证、类型转换及格式化 SpringMVC数据验证

    总结来说,Spring MVC的注解式控制器提供了强大的数据验证、类型转换和格式化功能,简化了Web开发过程,提升了应用的安全性和用户体验。通过合理利用这些特性,开发者可以构建更加健壮、易于维护的Web应用。

    SpringMVC中后台转换json格式

    为了解决这个问题,我们需要确保SpringMVC能够正确地将返回的数据转换为JSON格式,并设置合适的响应头。 首先,我们需要引入Jackson库来处理JSON序列化和反序列化。Jackson是Java中广泛使用的JSON处理库,包括三个...

    springMVC三种数据转换的Demo

    `Converter`接口是Spring框架提供的数据转换工具,可以自定义类型转换规则。通过实现`Converter, T&gt;`,我们可以指定如何将源类型`S`转换为目标类型`T`。在Spring MVC中,注册这个转换器后,Spring会在需要时自动调用...

    springmvc实现自定义类型转换器示例

    Spring MVC提供了内置的类型转换器,但当系统需要处理自定义数据类型时,可能需要自定义类型转换器。本篇文章将详细讲解如何在Spring MVC中实现自定义类型转换器。 首先,自定义类型转换器需要实现Spring的核心接口...

    SpringMVC入门很简单之数据绑定(下)

    2. 自动转换:SpringMVC提供了一套完整的类型转换系统,可以自动将请求参数转换为指定类型。如果需要自定义转换逻辑,可以通过实现`Converter`接口或注册`Formatter`来实现。 3. 分页和排序:在处理大量数据时,我们...

    springmvc类型转换.md

    ### Spring MVC 类型转换 ...开发者可以根据实际需求选择合适的方法来进行类型转换,从而提高开发效率并确保数据的一致性和准确性。在实践中,建议根据项目的复杂度和需求,选择最合适的方案来实现类型转换。

    springMVC4之强大类型转换器实例解析

    在SpringMVC中,类型转换器(Type Converter)扮演着至关重要的角色,它负责在控制器组件(Controller)接收请求和返回响应过程中,对HTTP请求数据进行类型转换。随着SpringMVC版本的演进,类型转换器的功能也在不断...

    springMVC整合xStream实现对象和xml转换

    XStream的优点在于它能自动处理基本数据类型、集合和自定义类的转换,使得XML序列化和反序列化变得极其简单。 要实现"springMVC整合xStream实现对象和xml转换",我们需要以下步骤: 1. **引入依赖**:在项目的pom....

    SSM笔记-自定义类型转换器

    标题中的"SSM笔记-自定义类型转换器"指的是在SpringMVC中创建自定义的类型转换器来处理特定数据类型的转换需求。SSM是Spring、SpringMVC和MyBatis的组合,但这里主要讨论的是SpringMVC的部分。 在SpringMVC中,`...

    SpringMVC中Json数据格式转换

    在SpringMVC中,JSON数据格式转换主要涉及到两个注解:@RequestBody和@ResponseBody。 @RequestBody注解用于读取HTTP请求的内容(字符串),然后通过SpringMVC提供的HttpMessageConverter接口将读到的内容转换为...

    SpringMVC数据绑定入门.rar

    在这个“SpringMVC数据绑定入门”压缩包中,你将找到一系列资源来帮助你理解并掌握SpringMVC的数据绑定机制,这对于任何Java开发者来说都是一个重要的技能。 1. **SpringMVC概述**: SpringMVC作为Spring框架的一...

    springMVC取后台数据做Echarts报表

    在构建Web应用时,我们经常需要从后台获取数据并...SpringMVC提供数据获取和JSON转换的能力,而Echarts则负责前端的数据展示和交互。通过两者结合,我们可以构建出丰富多样的报表应用,满足各种数据分析和展示的需求。

Global site tag (gtag.js) - Google Analytics