Spring MVC格式器和转换器之间的区别

时间:2012-10-24 11:31:54

标签: spring spring-mvc converter formatter

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

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

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

2 个答案:

答案 0 :(得分:17)

转换器用于将一种Java类型转换为另一种Java类型。例如,从Longjava.util.Date或从IntegerColor或从StringDate。它可以在Web层或需要转换服务的任何其他层中使用。

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

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

答案 1 :(得分:1)

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

Spring已经支持常用类型的内置转换器,并且框架也可以扩展,以便编写自定义转换器。

Spring Formatters进入图片,根据渲染的显示格式对数据进行格式化。示例可能包括根据区域设置等格式化日期/时间戳值。