什麼是調用業務邏輯的最佳位置?我有以下要求。Spring WebFlow - 視圖狀態或動作狀態下的業務邏輯
1)。從用戶獲取搜索標準
2)。如果當前用戶正在嘗試搜索未經授權的結果,則會拋出業務異常
3)。檢索結果
4)。如果結果數量爲0,則再次進入搜索頁面並輸入消息。 5)。如果結果數量>限制,請再次進入搜索頁面並輸入消息。 6)。轉到showresults頁面。
這是我迄今爲止...
<flow....>
<on-start>
<evaluate expression="appConfig.setUpSupportData()" result="flowScope.supportData"/>
</on-start>
<view-state id="searchHome" view="searchHome" model="searchCriteria">
<transition on="search" to="doSearch"/>
</view-state>
<action-state id="doSearch">
<evaluate expression="searchUtil.getSearchResults(flowScope.searchCriteria)" result="flowScope.personList"/>
<evaluate expression="searchUtil.showSearchResults(flowScope.personList, flowRequestContext)" >
<attribute name="name" value="expression2"/>
</evaluate>
<transition on="expression2.yes" to="showSearchResults"/>
<transition on="expression2.no" to="searchHome"/>
</action-state>
<view-state id="showSearchResults"></view-state>
</flow>
我的問題是,我應該調用getSearchResults在行動stae或視圖狀態=「showSearchResults」()方法?如果我在action-sta中調用該方法,則必須將搜索結果放入流量顯示器中,以便第二個視圖可以得到結果 - 在此場景中,我很擔心內存。如果我在第二個view-on-entry中調用方法,我可以將personList放入視圖範圍中,但是如何處理2,4和5情況?
在此先感謝!已經你自己的問題的