2014-03-29 133 views
0

我有一個Web應用程序,它在控制器內部有一些沉重的控制器邏輯。不過,我想在此之上使用網絡流量。從我在網上閱讀的內容中可以看出,Spring Web Flow完全繞開了控制器,其意義在於其不同的狀態呈現出控制器功能。Spring MVC問題

當我有一些非常沉重的邏輯控制器內部的Web流量在MVC的頂部是實用的嗎?

我不想在這些流程state-transition-data中使用spEL定義xmls。這是醜陋的,而是他們正確地屬於控制器內的java空間領域。

回答

0

由於Spring Webflow提供了一個基於流定義xml構建的有狀態控制器,Spring MVC控制器與Spring webflow不太匹配。

但是,如果邏輯來確定是不是很好地表達,否則下一個視圖,可以使所有視圖狀態過渡到動作狀態,在那裏你可以通過Java代碼確定什麼是下一個視圖:

<action-state id="decideNextView"> 
    <evaluate expression="someBeans.determineNextView()" /> 
    <transition on="begin" to="beginState" /> 
    <transition on="end" to="endState" /> 
    <transition on="other" to="someOtherState" /> 
</action-state> 

這樣,視圖轉換邏輯不在XML上,而是在Java代碼中。

+0

我同意你對webflow的看法,不能很好地與mvc相處。但由於某種原因(可能是營銷策略),春天聲稱webflow應該在mvc之上工作,這與真相大相徑庭。 – Ace

+0

他們幾乎不能在一起。他們是根本不同的方法。謝天謝地,一些書籍更好地強調了這一點。 – Ace

+0

關於過渡到行動狀態 - 不,這是不合時宜的事情。我不希望應用程序變得笨重和複雜。所有這些框架都應該使後端看起來整齊和整齊。我現在更傾向於放棄Web流量。 – Ace