什么是调用业务逻辑的最佳位置?我有以下要求。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情况?
在此先感谢!已经你自己的问题的