Spring Formatters里面的数据模型,这是违反MVC的吗?还有更好的选择吗?

时间:2011-07-27 08:24:18

标签: model-view-controller spring formatting datamodel

Spring使用注释提供格式化程序(和转换器)。这意味着可以在控制器上注释请求参数以格式化用户输入,并且还可以注释数据模型类的属性以格式化视图的数据。

后者在我看来明显违反了MVC的主要目的,即模型和视图之间的分离。使用格式化细节注释数据模型类会将模型绑定到视图。如果模型要用于其他视图或其他任何视图,则不能,因为它的字段是针对特定视图格式化的。

如果我错了,请告诉我。如果没有,有没有办法在不违反MVC的情况下格式化字段和查看格式?

1 个答案:

答案 0 :(得分:1)

使用注释是指定格式的一种很好的声明方式 - 我不会放弃它。另一种选择是定义转换的程序方式。

正如我所看到的,问题是纯模型对象和表单支持对象混合在一起。如果要“净化”您的体系结构,请引入用户输入和模型之间的表单支持对象。如果您认为它对于您的项目规模而言过于复杂,那么您就不需要它。在这种情况下,请注意模型对象具有双重含义。