首页 > 代码库 > (Spring文档翻译)17.1.1 pring Web MVC的特性
(Spring文档翻译)17.1.1 pring Web MVC的特性
Spring Web Flow的目标是成为管理web应用网页流的最好的解决方案。
SWF集成了现有的框架像Spring MVC 和JSP,适用于Servlet和Porlet环境。如果你有一个业务流程,需要一个对话式的模型而不是单纯的请求模型,那么SWF可能就是解决方案。
Spring的web模块包含了很多独立的web支持特性:
英文原文:
DispatcherServlet
, handler mapping, view resolver, and so on?—?can be fulfilled by a specialized object.17.1.1 Features of Spring Web MVC
Spring Web Flow
Spring Web Flow (SWF) aims to be the best solution for the management of web application page flow.
SWF integrates with existing frameworks like Spring MVC and JSF, in both Servlet and Portlet environments. If you have a business process (or processes) that would benefit from a conversational model as opposed to a purely request model, then SWF may be the solution.
SWF allows you to capture logical page flows as self-contained modules that are reusable in different situations, and as such is ideal for building web application modules that guide the user through controlled navigations that drive business processes.
For more information about SWF, consult the Spring Web Flow website.
Spring’s web module includes many unique web support features:
- Clear separation of roles. Each role?—?controller, validator, command object, form object, model object,
DispatcherServlet
, handler mapping, view resolver, and so on?—?can be fulfilled by a specialized object. - Powerful and straightforward configuration of both framework and application classes as JavaBeans. This configuration capability includes easy referencing across contexts, such as from web controllers to business objects and validators.
- Adaptability, non-intrusiveness, and flexibility. Define any controller method signature you need, possibly using one of the parameter annotations (such as @RequestParam, @RequestHeader, @PathVariable, and more) for a given scenario.
- Reusable business code, no need for duplication. Use existing business objects as command or form objects instead of mirroring them to extend a particular framework base class.
- Customizable binding and validation. Type mismatches as application-level validation errors that keep the offending value, localized date and number binding, and so on instead of String-only form objects with manual parsing and conversion to business objects.
- Customizable handler mapping and view resolution. Handler mapping and view resolution strategies range from simple URL-based configuration, to sophisticated, purpose-built resolution strategies. Spring is more flexible than web MVC frameworks that mandate a particular technique.
- Flexible model transfer. Model transfer with a name/value
Map
supports easy integration with any view technology. - Customizable locale, time zone and theme resolution, support for JSPs with or without Spring tag library, support for JSTL, support for Velocity without the need for extra bridges, and so on.
- A simple yet powerful JSP tag library known as the Spring tag library that provides support for features such as data binding and themes. The custom tags allow for maximum flexibility in terms of markup code. For information on the tag library descriptor, see the appendix entitled Chapter 36, spring.tld
- A JSP form tag library, introduced in Spring 2.0, that makes writing forms in JSP pages much easier. For information on the tag library descriptor, see the appendix entitledChapter 37, spring-form.tld
- Beans whose lifecycle is scoped to the current HTTP request or HTTP
Session
. This is not a specific feature of Spring MVC itself, but rather of theWebApplicationContext
container(s) that Spring MVC uses. These bean scopes are described in Section 5.5.4, “Request, session, and global session scopes”
17.1.2 Pluggability of other MVC implem
DispatcherServlet
, handler mapping, view resolver, and so on?—?can be fulfilled by a specialized object.(Spring文档翻译)17.1.1 pring Web MVC的特性