Spring MVC:模型中的属性太多了

时间:2012-08-25 15:30:33

标签: java spring-mvc

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

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

请建议。

2 个答案:

答案 0 :(得分:1)

没有特殊的设计模式,只有一些Spring或一般技术可以避免在给定控制器中进行过多的addAttribute调用。

如果您在视图中始终需要属性(例如特定对象,列表,布局,例如“isXXXActivated”或“showThis”等),您只需在控制器中添加排序方法即可:

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

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

如果在所有控制器中添加相同的属性,可以考虑在超级控制器中添加它们(spring @Controller可以在没有问题的情况下扩展另一个@Controller)。

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

答案 1 :(得分:0)

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