2
我需要將一個bean對象從MVC傳遞到webFlow。目前,我是這樣實現的:從MVC傳遞bean對象到Spring WebFlow
- 將我的bean對象作爲請求屬性存儲在控制器中。
- 轉發流。
從flowRequestContext開始訪問對象,並將其設置在flowScope中。
@RequestMapping(value = "/ProcessUser", method=RequestMethod.POST) public String processForm(LoginUser loginUser, HttpServletRequest request){ .... request.setAttribute("registrationDetails", registrationDetails); return "forward:/chineseFlow"; //Call to flow }
chineseFlow.xml
<on-start>
<evaluate expression="userDetailsService.getRegistrationDetails(flowRequestContext)" result="flowScope.registrationDetails"/>
</on-start>
的UserDetailsService
public RegistrationDetails getRegistrationDetails(RequestContext requestContext){
HttpServletRequest httpRequest = (HttpServletRequest) requestContext.getExternalContext().getNativeRequest();
RegistrationDetails registrationDetails = (RegistrationDetails)httpRequest.getAttribute("registrationDetails");
return registrationDetails;
}
我不想傳遞多個請求參數輸入到我的流程。這是將bean傳遞給SWF的正確方式,還是有其他更好的方法來實現它嗎?
謝謝。我沒有選擇重新設計我的應用程序,以便整個過程在同一個流程中進行。我認爲剩下的唯一選擇就是處理它,就像使用request屬性一樣處理它。 – Shinky