【发布时间】:2010-10-31 01:57:22
【问题描述】:
对于一个相对简单的应用程序,是否可以使用 Webflow 来减少创建表单控制器的需要?好吧,当然可以,但我想我要问的是:如果我的目标是减少我编写的代码量,我可以并且应该为所有控制器/视图逻辑使用 Webflow 编写整个应用程序?
我在(糟糕的)Webflow 文档中苦苦挣扎,想知道这是否值得,或者我是否应该坚持使用常规 MVC。
【问题讨论】:
标签: spring spring-mvc spring-webflow-2
对于一个相对简单的应用程序,是否可以使用 Webflow 来减少创建表单控制器的需要?好吧,当然可以,但我想我要问的是:如果我的目标是减少我编写的代码量,我可以并且应该为所有控制器/视图逻辑使用 Webflow 编写整个应用程序?
我在(糟糕的)Webflow 文档中苦苦挣扎,想知道这是否值得,或者我是否应该坚持使用常规 MVC。
【问题讨论】:
标签: spring spring-mvc spring-webflow-2
Web Flow 的用例是解决涉及跨多页导航(页面流或向导)的控制器逻辑的问题。如果您不必将表单拆分到多个页面(或需要多个小表单来参与单个事务),您可能不需要 Pageflow。
但是,大多数应用程序确实需要这个。除了简单的 CRUD 之外,任何东西都会受益。
页面流为数据提供自然缓存,并且可以解决使用后退按钮导航和多个框架/选项卡时所涉及的问题。
如果您正在考虑如何存储需要比单个请求更长时间的数据(常见但被误导的观点是存储在 HttpSession 中),那么您肯定会从 Web Flow 中获得一些东西。如果您没有做类似的事情并在请求范围内处理所有内容,那么您很可能不需要 Web Flow。
更新: Web Flow 可以消除对专业 控制器类的需求,以完成沿着预定义工作流的页面转换/表单更新路径。如果您不需要这样做,您只需使用 MVC 就可以为自己节省大量配置/复杂性。
【讨论】:
SpringMVC 和 Spring WebFlow 可以在适当的情况下一起使用 - 这没有什么奇怪的。
如果您有一个简单的用例,并且您认为可以使用 SpringMVC 轻松实现它,那么这可能是正确的选择。
注意:您也可以在 WebFlow 中实现这一点,这既不好也不坏。
如果您有复杂的向导逻辑和状态管理要求,那么 WebFlow 非常棒,而且您还可以免费获得许多其他功能,例如事务和持久性支持(第 2 版)。
【讨论】: