Spring MVC 已成为构建企业 Web 应用程序的非常流行的框架。任何复杂的 Web 应用程序都有某些需要编码的流程,包括一些条件流程(即,如果信用卡信息正确,则显示已处理的订单,如果输入不正确,则显示验证错误)。
在 Spring MVC 之上使用 Spring WebFlow 什么时候有意义?关于使用 Spring WebFlow 的决策过程应该是什么?
Spring MVC 已成为构建企业 Web 应用程序的非常流行的框架。任何复杂的 Web 应用程序都有某些需要编码的流程,包括一些条件流程(即,如果信用卡信息正确,则显示已处理的订单,如果输入不正确,则显示验证错误)。
在 Spring MVC 之上使用 Spring WebFlow 什么时候有意义?关于使用 Spring WebFlow 的决策过程应该是什么?
如果您有一个具有某些应用程序进程的 Web 应用程序。例如,如果您有某种注册流程,一个按钮可以转到一个页面,而另一个按钮可以转到另一个页面。Spring Webflow 可以很好地处理转换到不同的流程集。
基本上,如果您的应用程序的某些部分是链接的,并且页面在执行过程中相互依赖,则可以使用 SWF。
我个人在 webflow 中最喜欢的是两件事:
我不喜欢的是新版本的不一致和较差的向后兼容性。例如,最新的 webflow 2.1 与 JSF 1.x jira不兼容。与 Spring Security 集成也存在许多问题。例如,在 spring security 3.x 中,他们只是更改了一些包名称。一般来说,正如 Sasi 所提到的,webflow 几乎会迫使你将你的逻辑分离到不同的 webflow 中——我认为这很好。
One problem that webflow solves efficiently is it cleanly separates (or at least it makes very hard to mix) business logic from your control logic.
Agree with @John on the use cases but I would like to point out that once you start using webflow heavily, you will find yourself writing a lot of xml files (since in webflow you specify all the flows in xml files). This is almost a deal breaker for me personally.
我使用过 MVC 和 SWF。由于以下两个坚实的原因,我个人更喜欢 SWF 而不是 MVC: