Spring使用注释提供格式化程序(和转换器)。这意味着可以在控制器上注释请求参数以格式化用户输入,并且还可以注释数据模型类的属性以格式化视图的数据。
后者在我看来明显违反了MVC的主要目的,即模型和视图之间的分离。使用格式化细节注释数据模型类会将模型绑定到视图。如果模型要用于其他视图或其他任何视图,则不能,因为它的字段是针对特定视图格式化的。
如果我错了,请告诉我。如果没有,有没有办法在不违反MVC的情况下格式化字段和查看格式?
答案 0 :(得分:1)
使用注释是指定格式的一种很好的声明方式 - 我不会放弃它。另一种选择是定义转换的程序方式。
正如我所看到的,问题是纯模型对象和表单支持对象混合在一起。如果要“净化”您的体系结构,请引入用户输入和模型之间的表单支持对象。如果您认为它对于您的项目规模而言过于复杂,那么您就不需要它。在这种情况下,请注意模型对象具有双重含义。