在进行Spring Web流程时,我应该使用@Controller类吗?

时间:2015-02-25 02:11:46

标签: java spring-mvc spring-webflow

似乎我可以执行Controller类在Spring Web-Flow中执行的所有操作,例如决策制定和从页面到页面的切换。据我所知,它是MVC模型中的C。我对此是否正确?

所以我的问题是,使用Spring Web-Flow时仍然包含Controller类有什么优势吗?

2 个答案:

答案 0 :(得分:1)

Spring Web Flow使用Spring MVC框架。 DispatcherServlet处理请求。 FlowHandlerMapping用于将请求映射到特定Web流。

Web Flow旨在解决跨越多页导航(页面流或向导)的控制器逻辑所涉及的问题。

Web Flow可以消除专用控制器类在预定义工作流程中遵循页面转换/表单更新路径的需要。如果您不需要这样做,只需使用MVC就可以节省很多配置/复杂性。

答案 1 :(得分:1)

如果您需要访问请求和响应,则适当的设计可能仍包含控制器,同时还具有flow.xml。例如,如果您有此代码:

    HttpServletRequest request = (HttpServletRequest)context.getExternalContext().getNativeRequest();
    HttpServletResponse response = (HttpServletResponse)context.getExternalContext().getNativeResponse();

将它放在控制器而不是服务中更容易理解。

此外,如果您想注册一个自定义编辑器,让控制器在initBinder()方法中具有此逻辑可能是有意义的。