model-view-controller - 数据模型中的Spring Formatters,这是否违反了MVC?有更好的选择吗?

标签 model-view-controller spring formatting datamodel

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

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

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

最佳答案

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

在我看来,问题在于纯模型对象和表单支持对象混合在一起。如果您想“净化”您的架构,请引入将在用户输入和您的模型之间的表单支持对象。如果您认为它对于您的项目规模来说太复杂了,那么您就不需要它。在这种情况下,请注意模型对象具有双重含义。

关于model-view-controller - 数据模型中的Spring Formatters,这是否违反了MVC?有更好的选择吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6841414/

相关文章:

php - 格式化关联数组声明

model-view-controller - 如果它与其他页面相同,您会创建一个 View 模型吗?

ruby-on-rails - 在 Rails 4 中,如何在创建之前操作强参数?

java - Jetty 9 与 Spring 2 兼容性

Spring 托管 vs 非托管 bean

Git:接收电子邮件后 Hook 以显示 html 格式的颜色差异?

php - 格式化选项卡 HTML PHP CSS

model-view-controller - 如何将 Pdfsharp pdfDocument 保存到文件路径

javascript - 在 Angular 2 中从 ngFor 生成子组件

java - 在spring Controller 中获取_csrf