Spring MVC的:在型号太多属性(Spring MVC : too much attribut

2019-10-17 04:08发布

我有弹簧MVC(模型)一个非常基本的问题。 我工作在一个项目中,我们在模型(即model.addAttribute(..)设置这么多addributes。我的问题是,是否有任何设计模式,我可以使用,以避免这么多addAttributes?

我知道我可以创建一个bean /形式和里面我还可以创建相应的制定者/吸气,但我只是寻找如果有任何其他选项。

请建议。

Answer 1:

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

如果你有,你总是需要在您的视图(如特定对象,列表,布尔如“isXXXActivated”或“showThis”,等等),你只需要添加的那种在你的控制器的方法属性:

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

这将在您的模型每次你的控制器被称为添加“isXXXActivated”。

如果添加相同的属性进行的跨所有的控制器,你可以考虑增加他们在一个超级控制器(弹簧@Controller可以扩展另一个@Controller没有问题)。

最后,如果一些属性属于一组,你可以将它们作为对象的领域。 然后你只需要添加此对象的属性。 实施例:分组显示条件为显示类。



Answer 2:

如果你想使用设计模式来解决问题,你真的需要看看如何所有的人互动。 你有没有抬头不同的设计模式? 你有没有考虑让更多的对象,所以你可以,如果你知道设计模式,他们分裂和推广他们的模板方法。



文章来源: Spring MVC : too much attributes in the model