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