12

我需要澄清一下Spring MVC格式化程序转换器之间的区别

我对它们之间主要区别的理解是,格式化程序处理将显示给最终用户的数据,例如日期、SSN 或信用卡号,而转换器处理隐藏在表单控件后面的数据,例如值属性一个选择的选项。

我是对还是错?有人可以提供建议和/或样本,以便更好地解释两者之间的区别。

4

2 回答 2

22

转换器用于将一种 Java 类型转换为另一种 Java 类型。例如, from Longtojava.util.Date或 from IntegertoColor或 from Stringto Date。它可以用于 Web 层或任何其他需要转换服务的层。

格式化程序用于转换String为另一种 Java 类型并返回。因此,一种类型必须是String. 例如,您不能编写将 a 转换为 a 的格式化Long程序Date。格式化程序的示例是,用于DateFormatter解析和格式化. 此外,格式化程序的消息可以本地化。Stringjava.util.DateDate

结论:格式化程序适用于 Web 环境,例如 Spring MVC 应用程序。

于 2013-08-29T00:18:45.107 回答
1

转换器组件用于将一种类型转换为另一种类型,并通过强制将所有此类转换相关代码放在一个位置来提供更清晰的分离。

Spring 已经支持常用类型的内置转换器,并且该框架具有足够的可扩展性,可以编写自定义转换器。

Spring Formatters 会根据数据呈现的显示来格式化数据。示例可能包括根据区域设置格式化日期/时间戳值等。

于 2012-10-24T13:29:48.573 回答