1 <?xml version="1.0" encoding="UTF-8" ?>
2 <xsd:schema xmlns="http://www.springframework.org/schema/mvc"
3 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
4 xmlns:beans="http://www.springframework.org/schema/beans"
5 xmlns:tool="http://www.springframework.org/schema/tool"
6 targetNamespace="http://www.springframework.org/schema/mvc"
7 elementFormDefault="qualified" attributeFormDefault="unqualified">
9 <xsd:import namespace="http://www.springframework.org/schema/beans" schemaLocation="http://www.springframework.org/schema/beans/spring-beans-3.1.xsd" />
10 <xsd:import namespace="http://www.springframework.org/schema/tool" schemaLocation="http://www.springframework.org/schema/tool/spring-tool-3.1.xsd" />
12 <xsd:element name="annotation-driven">
14 <xsd:documentation source="java:org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"><![CDATA[
15 Configures the annotation-driven Spring MVC Controller programming model.
16 Note that, with Spring 3.0, this tag works in Servlet MVC only!
18 See org.springframework.web.servlet.config.annotation.EnableWebMvc Javadoc for
19 information on code-based alternatives to enabling annotation-driven Spring MVC
21 ]]></xsd:documentation>
24 <xsd:all minOccurs="0">
25 <xsd:element name="message-converters" minOccurs="0">
27 <xsd:documentation><![CDATA[
28 Configures one or more HttpMessageConverter types to use for converting @RequestBody method parameters and @ResponseBody method return values.
29 Using this configuration element is optional.
30 HttpMessageConverter registrations provided here will take precedence over HttpMessageConverter types registered by default.
31 Also see the register-defaults attribute if you want to turn off default registrations entirely.
32 ]]></xsd:documentation>
36 <xsd:element ref="beans:bean" minOccurs="1" maxOccurs="unbounded">
38 <xsd:documentation><![CDATA[
39 The HttpMessageConverter bean definition.
40 ]]></xsd:documentation>
44 <xsd:attribute name="register-defaults" type="xsd:boolean" default="true">
46 <xsd:documentation><![CDATA[
47 Whether or not default HttpMessageConverter registrations should be added in addition to the ones provided within this element.
48 ]]></xsd:documentation>
53 <xsd:element name="argument-resolvers" minOccurs="0">
55 <xsd:documentation><![CDATA[
56 Configures HandlerMethodArgumentResolver types to support custom controller method argument types.
57 Using this option does not override the built-in support for resolving handler method arguments.
58 To customize the built-in support for argument resolution configure RequestMappingHandlerAdapter directly.
59 ]]></xsd:documentation>
63 <xsd:element ref="beans:bean" minOccurs="1" maxOccurs="unbounded">
65 <xsd:documentation><![CDATA[
66 The HandlerMethodArgumentResolver (or WebArgumentResolver for backwards compatibility) bean definition.
67 ]]></xsd:documentation>
73 <xsd:element name="return-value-handlers" minOccurs="0">
75 <xsd:documentation><![CDATA[
76 Configures HandlerMethodReturnValueHandler types to support custom controller method return value handling.
77 Using this option does not override the built-in support for handling return values.
78 To customize the built-in support for handling return values configure RequestMappingHandlerAdapter directly.
79 ]]></xsd:documentation>
83 <xsd:element ref="beans:bean" minOccurs="1" maxOccurs="unbounded">
85 <xsd:documentation><![CDATA[
86 The HandlerMethodReturnValueHandler bean definition.
87 ]]></xsd:documentation>
94 <xsd:attribute name="conversion-service" type="xsd:string">
96 <xsd:documentation source="java:org.springframework.core.convert.ConversionService"><![CDATA[
97 The bean name of the ConversionService that is to be used for type conversion during field binding.
98 This attribute is not required, and only needs to be specified explicitly if custom converters need to be configured.
99 If not specified, a default FormattingConversionService is registered that contains converters to/from standard JDK types.
100 In addition, full support for date/time formatting will be installed if the Joda Time library is present on the classpath.
101 ]]></xsd:documentation>
103 <tool:annotation kind="ref">
104 <tool:expected-type type="java:org.springframework.core.convert.ConversionService" />
109 <xsd:attribute name="validator" type="xsd:string">
111 <xsd:documentation source="java:org.springframework.validation.Validator"><![CDATA[
112 The bean name of the Validator that is to be used to validate Controller model objects.
113 This attribute is not required, and only needs to be specified explicitly if a custom Validator needs to be configured.
114 If not specified, JSR-303 validation will be installed if a JSR-303 provider is present on the classpath.
115 ]]></xsd:documentation>
117 <tool:annotation kind="ref">
118 <tool:expected-type type="java:org.springframework.validation.Validator" />
123 <xsd:attribute name="message-codes-resolver" type="xsd:string">
125 <xsd:documentation><![CDATA[
126 The bean name of a MessageCodesResolver to use to build message codes from data binding and validation error codes.
127 This attribute is not required.
128 If not specified the DefaultMessageCodesResolver is used.
129 ]]></xsd:documentation>
131 <tool:annotation kind="ref">
132 <tool:expected-type type="java:org.springframework.validation.MessageCodesResolver" />
137 <xsd:attribute name="ignoreDefaultModelOnRedirect" type="xsd:boolean">
139 <xsd:documentation><![CDATA[
140 By default the content of the "default" model is used both during rendering and redirect scenarios.
141 Alternatively a controller method can declare a RedirectAttributes argument and use it to provide attributes for a redirect.
142 Setting this flag to true ensures the "default" model is never used in a redirect scenario even if a RedirectAttributes argument is not declared.
143 Setting it to false means the "default" model may be used in a redirect if the controller method doesn't declare a RedirectAttributes argument.
144 The default setting is false but new applications should consider setting it to true.
145 ]]></xsd:documentation>
151 <xsd:element name="resources">
154 source="java:org.springframework.web.servlet.resource.ResourceHttpRequestHandler"><![CDATA[
155 Configures a handler for serving static resources such as images, js, and, css files with cache headers optimized for efficient
156 loading in a web browser. Allows resources to be served out of any path that is reachable via Spring's Resource handling.
157 ]]></xsd:documentation>
160 <xsd:attribute name="mapping" use="required" type="xsd:string">
162 <xsd:documentation><![CDATA[
163 The URL mapping pattern, within the current Servlet context, to use for serving resources from this handler, such as "/resources/**"
164 ]]></xsd:documentation>
167 <xsd:attribute name="location" use="required" type="xsd:string">
169 <xsd:documentation><![CDATA[
170 The resource location from which to serve static content, specified at a Spring Resource pattern.
171 Each location must point to a valid directory. Multiple locations may be specified as a comma-separated list,
172 and the locations will be checked for a given resource in the order specified. For example, a value of
173 "/, classpath:/META-INF/public-web-resources/" will allow resources to be served both from the web app
174 root and from any JAR on the classpath that contains a /META-INF/public-web-resources/ directory,
175 with resources in the web app root taking precedence.
176 ]]></xsd:documentation>
179 <xsd:attribute name="cache-period" type="xsd:string">
183 Specifies the cache period for the resources served by this resource handler, in seconds.
184 The default is to not send any cache headers but rather to rely on last-modified timestamps only.
185 Set this to 0 in order to send cache headers that prevent caching, or to a positive number of
186 seconds in order to send cache headers with the given max-age value.
187 ]]></xsd:documentation>
190 <xsd:attribute name="order" type="xsd:int">
194 Specifies the order of the HandlerMapping for the resource handler. The default order is Ordered.LOWEST_PRECEDENCE - 1.
195 ]]></xsd:documentation>
201 <xsd:element name="default-servlet-handler">
204 source="java:org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler"><![CDATA[
205 Configures a handler for serving static resources by forwarding to the Servlet container's default Servlet. Use of this
206 handler allows using a "/" mapping with the DispatcherServlet while still utilizing the Servlet container to serve static
208 This handler will forward all requests to the default Servlet. Therefore it is important that it remains last in the
209 order of all other URL HandlerMappings. That will be the case if you use the "annotation-driven" element or alternatively
210 if you are setting up your customized HandlerMapping instance be sure to set its "order" property to a value lower than
211 that of the DefaultServletHttpRequestHandler, which is Integer.MAX_VALUE.
212 ]]></xsd:documentation>
215 <xsd:attribute name="default-servlet-name" type="xsd:string">
217 <xsd:documentation><![CDATA[
218 The name of the default Servlet to forward to for static resource requests. The handler will try to auto-detect the container's
219 default Servlet at startup time using a list of known names. If the default Servlet cannot be detected because of using an unknown
220 container or because it has been manually configured, the servlet name must be set explicitly.
221 ]]></xsd:documentation>
227 <xsd:element name="interceptors">
229 <xsd:documentation><![CDATA[
230 The ordered set of interceptors that intercept HTTP Servlet Requests handled by Controllers.
231 Interceptors allow requests to be pre/post processed before/after handling.
232 Each inteceptor must implement the org.springframework.web.servlet.HandlerInterceptor or
233 org.springframework.web.context.request.WebRequestInterceptor interface.
234 The interceptors in this set are automatically configured on each registered HandlerMapping.
235 The URI paths each interceptor applies to are configurable.
236 ]]></xsd:documentation>
239 <xsd:choice maxOccurs="unbounded">
241 <xsd:element ref="beans:bean">
243 <xsd:documentation><![CDATA[
244 Registers an interceptor that intercepts every request regardless of its URI path..
245 ]]></xsd:documentation>
248 <xsd:element ref="beans:ref">
250 <xsd:documentation><![CDATA[
251 Registers an interceptor that intercepts every request regardless of its URI path..
252 ]]></xsd:documentation>
256 <xsd:element name="interceptor">
258 <xsd:documentation source="java:org.springframework.web.servlet.handler.MappedInterceptor"><![CDATA[
259 Registers an interceptor that interceptors requests sent to one or more URI paths.
260 ]]></xsd:documentation>
264 <xsd:element name="mapping" maxOccurs="unbounded">
266 <xsd:attribute name="path" type="xsd:string" use="required">
268 <xsd:documentation><![CDATA[
269 A path into the application intercepted by this interceptor.
270 Exact path mapping URIs (such as "/myPath") are supported as well as Ant-stype path patterns (such as /myPath/**).
271 ]]></xsd:documentation>
277 <xsd:element ref="beans:bean">
279 <xsd:documentation><![CDATA[
280 The interceptor's bean definition.
281 ]]></xsd:documentation>
284 <xsd:element ref="beans:ref">
286 <xsd:documentation><![CDATA[
287 A reference to an interceptor bean.
288 ]]></xsd:documentation>
299 <xsd:element name="view-controller">
302 source="java:org.springframework.web.servlet.mvc.ParameterizableViewController"><![CDATA[
303 Defines a simple Controller that selects a view to render the response.
304 ]]></xsd:documentation>
307 <xsd:attribute name="path" type="xsd:string" use="required">
309 <xsd:documentation><![CDATA[
310 The URL path the view is mapped to.
311 ]]></xsd:documentation>
314 <xsd:attribute name="view-name" type="xsd:string">
316 <xsd:documentation><![CDATA[
317 The name of the view to render. Optional.
318 If not specified, the view name will be determined from the current HttpServletRequest
319 by the DispatcherServlet's RequestToViewNameTranslator.
320 ]]></xsd:documentation>