Spring Webflow可以消除对控制器类的需求吗?

时间:2009-06-03 18:04:36

标签: spring spring-mvc spring-webflow-2

对于一个相对简单的应用程序,可以使用Webflow来减少创建表单控制器的需要吗?嗯,当然可以,但我想我要问的是:如果我这样做的目的是减少我写的代码量,我可以而且应该使用Webflow为所有控制器/视图逻辑编写整个应用程序?

我在(可怜的)Webflow文档中苦苦挣扎,我想知道它是否值得,或者我是否应该坚持常规的MVC。

2 个答案:

答案 0 :(得分:6)

Web Flow的用例是解决跨越多页导航(页面流或向导)的控制器逻辑所涉及的问题。如果您不必将表单拆分为多个页面(或者需要几个小表单来参与单个事务),则可能不需要Pageflow。

然而,大多数应用程序都需要这样做。除了简单的CRUD之外,还有其他任何好处。

页面流为数据提供了自然缓存,并且可以解决在使用后退按钮导航和多个框架/选项卡时所涉及的问题。

如果您正在考虑如何存储需要比单个请求更长寿的数据(常见但误导的视图存储在HttpSession中),那么您肯定会从Web Flow中获得一些东西。如果您没有做任何类似的事情并在请求范围内处理所有内容,那么您可能不需要Web Flow。

<强>更新 Web Flow可以消除专用控制器类在预定义工作流程中遵循页面转换/表单更新路径的需要。如果您不需要这样做,只需使用MVC即可为自己节省大量配置/复杂性。

答案 1 :(得分:3)

SpringMVC和Spring WebFlow可以在适当的地方一起使用 - 没有什么奇怪的。

如果你有一个简单粗暴的用例,并且你认为你可以使用SpringMVC轻松实现这个,那么这可能是正确的选择。

注意:您也可以在WebFlow中实现这一点,既不会更好也不会更好。

如果您有复杂的向导逻辑和状态管理要求,那么WebFlow非常棒,您可以免费获得许多其他功能,如事务和持久性支持(版本2)。