gpt4 book ai didi

angularjs - Spring Webflow VS AngularJS

转载 作者:行者123 更新时间:2023-12-01 03:36:39 24 4
gpt4 key购买 nike

我知道有人问过这个问题,但我似乎没有找到合适的答案。所以想再次提出问题。

我们需要构建一个响应式应用程序,我们的客户将使用它来创建订单。

我开始研究 Spring4 Webflow,甚至创建了一个示例披萨应用程序 [感谢 Spring in Action],因为我们需要我们的应用程序具有很强的可扩展性,这看起来是一种可行的方法。

我们遇到的问题是——我们在应用程序的其他任何地方都使用 AngularJS + Spring MVC/REST。
对于 WebFlow,看起来我们需要使用 spring 表单,即绑定(bind)由 Spring 完成,以及 angularJS 和 Spring WebFlow 之间的其他冲突。有没有办法一起使用 Spring WebFlow + AngularJS,我们利用 Angular 的全部潜力,但仍然使用 WebFlow 来模仿 session 行为?

createPizza.jsp

<form:form commandName="pizza">
<input type="hidden" name="_flowExecutionKey"
value="${flowExecutionKey}"/>

订单流.xml
<view-state id="createPizza" model="flowScope.pizza">
<on-entry>
<set name="flowScope.pizza"
value="new com.springinaction.pizza.domain.Pizza()" />

<evaluate result="viewScope.toppingsList"
expression="T(com.springinaction.pizza.domain.Topping).asList()" />
</on-entry>
<transition on="addPizza" to="showOrder">
<evaluate expression="order.addPizza(flowScope.pizza)" />
</transition>
<transition on="cancel" to="showOrder" />
</view-state>

最佳答案

我不认为 SWF 被设计为用作 SPA(单页应用程序)。 SWF 'state' 标签总是调用服务器并刷新整个页面以重新呈现 View 。这从根本上与 AngularJS 冲突。

或者,您可以在 SWF 中启用 ajax 请求,并在单个 View 状态标记内仅呈现部分 html 片段。但现在的问题是,您将所有业务逻辑都放在一个 View 状态标签中(在我看来),这大大降低了使用 SWF 的优势并违反了 SRP 原则,但该选项存在。

请参阅此示例,详细解释 SWF ajax 请求的工作原理:

How to include a pop-up dialog box in subflow

此外,请参阅文档以了解如何启用 ajax 请求/部分片段:

http://docs.spring.io/spring-webflow/docs/current/reference/htmlsingle/#spring-js-ajax

关于angularjs - Spring Webflow VS AngularJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34204930/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com