@ -753,7 +753,8 @@ When developing with JSPs, you can declare a `InternalResourceViewResolver` or a
@@ -753,7 +753,8 @@ When developing with JSPs, you can declare a `InternalResourceViewResolver` or a
`ResourceBundleViewResolver` relies on a properties file to define the view names
mapped to a class and a URL. With a `ResourceBundleViewResolver`, you
can mix different types of views by using only one resolver, as the following example shows:
can mix different types of views by using only one resolver, as the following example
shows:
[source,xml,indent=0]
[subs="verbatim,quotes"]
@ -771,9 +772,9 @@ can mix different types of views by using only one resolver, as the following ex
@@ -771,9 +772,9 @@ can mix different types of views by using only one resolver, as the following ex
productList.url=/WEB-INF/jsp/productlist.jsp
----
`InternalResourceViewResolver` can also be used for JSPs. As a best practice, we
strongly encourage placing your JSP files in a directory under the `'WEB-INF'`
directory so there can be no direct access by clients.
`InternalResourceViewResolver` can also be used for JSPs. As a best practice, we strongly
encourage placing your JSP files in a directory under the `'WEB-INF'` directory so there
The preceding example performs an HTTP POST, with the "`real`" DELETE method hidden behind a
request parameter. It is picked up by the `HiddenHttpMethodFilter`, which is defined in
The preceding example performs an HTTP POST, with the "`real`" DELETE method hidden behind
a request parameter. It is picked up by the `HiddenHttpMethodFilter`, which is defined in
web.xml, as the following example shows:
[source,java,indent=0]
@ -1837,8 +1838,8 @@ dynamically from the model data. The document is the view and is streamed from t
@@ -1837,8 +1838,8 @@ dynamically from the model data. The document is the view and is streamed from t
server with the correct content type, to (hopefully) enable the client PC to run their
spreadsheet or PDF viewer application in response.
In order to use Excel views, you need to add the Apache POI library to your classpath.
For PDF generation, you need to add (preferably) the OpenPDF library.
In order to use Excel views, you need to add the Apache POI library to your classpath. For
PDF generation, you need to add (preferably) the OpenPDF library.
NOTE: You should use the latest versions of the underlying document-generation libraries, if possible.
In particular, we strongly recommend OpenPDF (for example, OpenPDF 1.0.5) instead of the
@ -1923,9 +1924,9 @@ serializers and deserializers for specific types.
@@ -1923,9 +1924,9 @@ serializers and deserializers for specific types.
`MappingJackson2XmlView` uses the
https://github.com/FasterXML/jackson-dataformat-xml[Jackson XML extension's] `XmlMapper`
to render the response content as XML. If the model contains multiple entries, you should explicitly set the
object to be serialized by using the `modelKey` bean property.
If the model contains a single entry, it is serialized automatically.
to render the response content as XML. If the model contains multiple entries, you should
explicitly set the object to be serialized by using the `modelKey` bean property. If the
model contains a single entry, it is serialized automatically.
You can customized XML mapping as needed by using JAXB or Jackson's provided
annotations. When you need further control, you can inject a custom `XmlMapper`
@ -2398,11 +2398,11 @@ Spring MVC has two main abstractions in support of flash attributes. `FlashMap`
@@ -2398,11 +2398,11 @@ Spring MVC has two main abstractions in support of flash attributes. `FlashMap`
to hold flash attributes, while `FlashMapManager` is used to store, retrieve, and manage
`FlashMap` instances.
Flash attribute support is always "`on`" and does not need to be enabled explicitly. However,
if not used, it never causes HTTP session creation. On each request, there is an "`input`"
`FlashMap` with attributes passed from a previous request (if any) and an "`output`"
`FlashMap` with attributes to save for a subsequent request. Both `FlashMap` instances
are accessible from anywhere in Spring MVC through static methods in
Flash attribute support is always "`on`" and does not need to be enabled explicitly.
However, if not used, it never causes HTTP session creation. On each request, there is an
"`input`" `FlashMap` with attributes passed from a previous request (if any) and an
"`output`" `FlashMap` with attributes to save for a subsequent request. Both `FlashMap`
instances are accessible from anywhere in Spring MVC through static methods in
`RequestContextUtils`.
Annotated controllers typically do not need to work with `FlashMap` directly. Instead, a