Spring MVC3.0实战:支持格式化的转换器与注解教程
需积分: 9 130 浏览量
更新于2024-08-17
收藏 2.65MB PPT 举报
"Spring3MVC注解教程——使用支持格式化的转换器"
在Spring MVC中,数据转换和格式化是应用程序处理用户输入和展示数据时的关键部分。本教程聚焦于使用支持格式化的转换器,这是Spring3 MVC的一个重要特性,它允许开发者自定义数据转换规则,以满足特定的业务需求。`<mvc:annotation-driven>`元素是启用注解驱动的Spring MVC配置的关键,它可以自动配置一个`ConversionService`,默认是`FormattingConversionServiceFactoryBean`。
`<mvc:annotation-driven conversion-service="conversionService">`这行代码指示Spring MVC使用名为`conversionService`的`ConversionService`实例。这个服务负责处理不同类型的数据转换,包括格式化的任务。接着,我们定义了一个`bean`,其类为`org.springframework.format.support.FormattingConversionServiceFactoryBean`,它提供了对各种格式化注解的支持。
以下是一些由`FormattingConversionServiceFactoryBean`自动支持的格式化注解:
1. **@NumberFormatter**: 这个注解用于数字类型的对象,可以定制数字的显示格式,如保留小数位数,千位分隔符等。
2. **@CurrencyFormatter**: 该注解适用于货币类型的数据,可以方便地进行货币格式化,如添加货币符号,调整精度等。
3. **@PercentFormatter**: 这个注解应用于百分比数字,可以确保百分比值正确地以百分比形式显示。
例如,在`com.baobaotao.domain.StringToUserConverter`这个自定义转换器中,你可以定义如何将字符串转换为用户对象,或者反之,这使得在表单提交或数据显示时能够按照预期进行转换。
在实际应用中,`@Controller`、`@RequestMapping`等注解用于定义控制器及其处理的HTTP请求。例如,`@Controller`标记一个类作为Spring MVC的处理器,`@RequestMapping`则用来映射URL到控制器的方法。在提供的代码片段中,`UserController`类被标记为控制器,`@RequestMapping("user")`表示所有处理用户相关请求的方法都在这个控制器内,而`@RequestMapping(value = "/register")`则定义了处理注册用户的特定URL。
`ModelAndView`对象在处理完请求后返回,包含了模型数据和视图信息,视图解析器(`ViewResolver`)则根据`ModelAndView`中的逻辑视图名找到实际的视图(如JSP、XML或PDF)来呈现结果。
Spring3 MVC通过注解驱动的方式,简化了Web应用程序的开发,其中支持格式化的转换器是增强数据处理能力的重要工具。开发者可以根据需要扩展或自定义转换器,以适应各种复杂的数据格式和类型。结合对HTTP请求的处理、数据绑定、验证以及视图解析,Spring MVC提供了一套完整的MVC框架,使得构建企业级Web应用变得更加高效和灵活。
2013-03-08 上传
388 浏览量
2014-08-01 上传
2022-08-04 上传
2021-07-01 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
![](https://profile-avatar.csdnimg.cn/9984691a46e5471c9a15b6a45c73c480_weixin_42190623.jpg!1)
黄子衿
- 粉丝: 21
最新资源
- OpenGL实现旋转的glut代码教程
- Diagramos:一元逻辑公式证明工具的应用介绍
- Spring Security 2.0.4 完整包及源码下载
- 雪球用户数据爬取及多维数据集导入教程
- MARC2015实例教程第5-6-9章节及常见问题解析
- Qt与Matlab混合编程实现加法教程及文件下载
- PHP分页类实现数据库操作教程
- 基于MSP430F149实现的12864显示屏简便串口通信
- HashUtil:简易校验和哈希计算器工具使用指南
- PHPUnit代码测试库dbunit下载与应用
- C#实现调用本机摄像头及截图操作
- 高中生Santhosh探索自动化、AI与TensorFlow学习之路
- C#实现24路舵机控制板编程及USB通信
- 银行家算法在vc++环境下的实现教程
- 探索 Maven Findbugs 插件在 Java 开发中的应用
- RecruitHerd Mini-crx插件: 招聘软件解决方案的简化版