Spring 提供了使用注解的格式化程序(和转换器)。这意味着可以在 Controller 上注释请求参数以格式化用户输入,并且还可以注释数据模型类的属性以格式化 View 的数据。
在我看来,后者明显违反了 MVC 的主要目的,即模型和 View 之间的分离。使用格式化细节注释数据模型类会将模型绑定(bind)到 View 。如果模型必须用于其他 View 或其他任何内容,则不能,因为它的字段已针对特定 View 进行了格式化。
如果我错了,请告诉我。如果没有,有没有办法在不违反 MVC 的情况下格式化字段并查看格式?
最佳答案
使用注释是指定格式的一种很好的声明方式——我不会放弃它。另一种方法是定义转换的程序方式。
在我看来,问题在于纯模型对象和表单支持对象混合在一起。如果您想“净化”您的架构,请引入将在用户输入和您的模型之间的表单支持对象。如果您认为它对于您的项目规模来说太复杂了,那么您就不需要它。在这种情况下,请注意模型对象具有双重含义。
关于model-view-controller - 数据模型中的Spring Formatters,这是否违反了MVC?有更好的选择吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6841414/