1

我对 spring-mvc (模型)有一个非常基本的问题。我正在做一个项目,我们在模型中设置了这么多的 addributes(即 model.addAttribute(..)。我的问题是我可以使用任何设计模式来避免这么多的 addAttributes 吗?

我知道我可以创建一个 bean/ 表单,并且在其中我也可以创建相应的 setter/getter,但我只是在寻找任何其他可用的选项。

请建议。

4

2 回答 2

1

没有特殊的设计模式,只有一些 Spring 或通用技术来避免给定控制器内过多的 addAttribute 调用。

如果您的视图中具有始终需要的属性(例如特定对象、列表、布尔值,例如“isXXXActivated”或“showThis”等),您可以在控制器中添加此类方法:

@ModelAttribute("isXXXActivated")
public boolean isXXXActivated(){
    return isXXXActivated;
}

每次调用控制器时,这都会在模型中添加“isXXXActivated”。

如果您在所有控制器中添加相同的属性,您可以考虑将它们添加到超级控制器中(spring @Controller 可以毫无问题地扩展另一个 @Controller)。

最后,如果某些属性属于一个组,您可以将它们分组为对象的字段。然后,您只需将此对象添加为属性。示例:将显示条件分组到一个 Display 类中。

于 2012-08-25T17:42:49.147 回答
0

如果你想使用设计模式来解决问题,你真的需要看看它们是如何交互的。你查过不同的设计模式吗?您是否考虑过制作更多对象,以便您可以将它们拆分并概括它们,如果您知道设计模式,则使用模板方法。

于 2012-08-25T15:38:21.427 回答