Typo fixes and formatting
This commit is contained in:
parent
85332c7a49
commit
462d047f72
|
@ -285,20 +285,20 @@ The parameters to any of the above macros have consistent meanings:
|
|||
and bound to the command object. Map objects stored against the keys are the labels
|
||||
displayed on the form to the user and may be different from the corresponding values
|
||||
posted back by the form. Usually, such a map is supplied as reference data by the
|
||||
controller. You can use any `Map` implementation, depending on required behavior. For
|
||||
strictly sorted maps, you can use a `SortedMap` (such as a `TreeMap`) with a suitable `Comparator`
|
||||
and, for arbitrary Maps that should return values in insertion order, use a
|
||||
`LinkedHashMap` or a `LinkedMap` from `commons-collections`.
|
||||
* `separator`: Where multiple options are available as discreet elements (radio buttons or
|
||||
checkboxes), the sequence of characters used to separate each one in the list (such as
|
||||
`<br>`).
|
||||
* `attributes`: An additional string of arbitrary tags or text to be included within the
|
||||
HTML tag itself. This string is echoed literally by the macro. For example, in a
|
||||
`textarea` field, you may supply attributes (such as 'rows="5" cols="60"'), or you could pass
|
||||
style information such as 'style="border:1px solid silver"'.
|
||||
* `classOrStyle`: For the `showErrors` macro, the name of the CSS class that the `span` element
|
||||
that wraps each error uses. If no information is supplied (or the value is empty),
|
||||
the errors are wrapped in `<b></b>` tags.
|
||||
controller. You can use any `Map` implementation, depending on required behavior.
|
||||
For strictly sorted maps, you can use a `SortedMap` (such as a `TreeMap`) with a
|
||||
suitable `Comparator` and, for arbitrary Maps that should return values in insertion
|
||||
order, use a `LinkedHashMap` or a `LinkedMap` from `commons-collections`.
|
||||
* `separator`: Where multiple options are available as discreet elements (radio buttons
|
||||
or checkboxes), the sequence of characters used to separate each one in the list
|
||||
(such as `<br>`).
|
||||
* `attributes`: An additional string of arbitrary tags or text to be included within
|
||||
the HTML tag itself. This string is echoed literally by the macro. For example, in a
|
||||
`textarea` field, you may supply attributes (such as 'rows="5" cols="60"'), or you
|
||||
could pass style information such as 'style="border:1px solid silver"'.
|
||||
* `classOrStyle`: For the `showErrors` macro, the name of the CSS class that the `span`
|
||||
element that wraps each error uses. If no information is supplied (or the value is
|
||||
empty), the errors are wrapped in `<b></b>` tags.
|
||||
|
||||
The following sections outline examples of the macros (some in FTL and some in VTL). Where usage
|
||||
differences exist between the two languages, they are explained in the notes.
|
||||
|
@ -799,7 +799,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 byusing 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]
|
||||
|
@ -810,7 +811,7 @@ can mix different types of views byusing only one resolver, as the following exa
|
|||
<property name="basename" value="views"/>
|
||||
</bean>
|
||||
|
||||
# And a sample properties file is uses (views.properties in WEB-INF/classes):
|
||||
# And a sample properties file is used (views.properties in WEB-INF/classes):
|
||||
welcome.(class)=org.springframework.web.servlet.view.JstlView
|
||||
welcome.url=/WEB-INF/jsp/welcome.jsp
|
||||
|
||||
|
@ -818,9 +819,9 @@ can mix different types of views byusing only one resolver, as the following exa
|
|||
productList.url=/WEB-INF/jsp/productlist.jsp
|
||||
----
|
||||
|
||||
`InternalResourceBundleViewResolver` 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
|
||||
can be no direct access by clients.
|
||||
|
||||
[source,xml,indent=0]
|
||||
[subs="verbatim,quotes"]
|
||||
|
@ -838,7 +839,7 @@ directory so there can be no direct access by clients.
|
|||
[[mvc-view-jsp-jstl]]
|
||||
=== JSPs versus JSTL
|
||||
|
||||
When using the Java Standard Tag Library you must use a special view class, the
|
||||
When using the JSP Standard Tag Library (JSTL) you must use a special view class, the
|
||||
`JstlView`, as JSTL needs some preparation before things such as the I18N features can
|
||||
work.
|
||||
|
||||
|
@ -1612,7 +1613,7 @@ or see the tag library description.
|
|||
A key principle of REST is the use of the "`Uniform Interface`". This means that all
|
||||
resources (URLs) can be manipulated by using the same four HTTP methods: GET, PUT, POST,
|
||||
and DELETE. For each method, the HTTP specification defines the exact semantics. For
|
||||
instance, a GET should always be a safe operation, meaning that is has no side effects,
|
||||
instance, a GET should always be a safe operation, meaning that it has no side effects,
|
||||
and a PUT or DELETE should be idempotent, meaning that you can repeat these operations
|
||||
over and over again, but the end result should be the same. While HTTP defines these
|
||||
four methods, HTML only supports two: GET and POST. Fortunately, there are two possible
|
||||
|
@ -1625,8 +1626,7 @@ with a hidden `method` parameter is converted into the corresponding HTTP method
|
|||
request.
|
||||
|
||||
To support HTTP method conversion, the Spring MVC form tag was updated to support setting
|
||||
the HTTP method. For example, the following snippet comes from the Pet Clinic
|
||||
sample:
|
||||
the HTTP method. For example, the following snippet comes from the Pet Clinic sample:
|
||||
|
||||
====
|
||||
[source,xml,indent=0]
|
||||
|
@ -1638,8 +1638,8 @@ sample:
|
|||
----
|
||||
====
|
||||
|
||||
The preceding example perform 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:
|
||||
|
||||
====
|
||||
|
@ -1833,7 +1833,7 @@ implementations. See the Tiles documentation for details on how to use
|
|||
You can specify `SimpleSpringPreparerFactory` to autowire `ViewPreparer` instances based on
|
||||
specified preparer classes, applying Spring's container callbacks as well as applying
|
||||
configured Spring BeanPostProcessors. If Spring's context-wide annotation configuration has
|
||||
been activated, annotations in `ViewPreparer` classes aree automatically detected and
|
||||
been activated, annotations in `ViewPreparer` classes are automatically detected and
|
||||
applied. Note that this expects preparer classes in the Tiles definition files, as
|
||||
the default `PreparerFactory` does.
|
||||
|
||||
|
@ -1843,7 +1843,7 @@ application context. The full bean creation process is in the control of the Spr
|
|||
application context in this case, allowing for the use of explicit dependency injection
|
||||
configuration, scoped beans, and so on. Note that you need to define one Spring bean definition
|
||||
for each preparer name (as used in your Tiles definitions). The following example shows
|
||||
how to define a set a `SpringBeanPreparerFactory` property on a `TilesConfigurer` bean:
|
||||
how to define a `SpringBeanPreparerFactory` property on a `TilesConfigurer` bean:
|
||||
|
||||
====
|
||||
[source,xml,indent=0]
|
||||
|
@ -1911,7 +1911,7 @@ Similar requirements apply for implementing `AbstractRssFeedView`, as the follow
|
|||
[source,java,indent=0]
|
||||
[subs="verbatim,quotes"]
|
||||
----
|
||||
public class SampleContentAtomView extends AbstractRssFeedView {
|
||||
public class SampleContentRssView extends AbstractRssFeedView {
|
||||
|
||||
@Override
|
||||
protected void buildFeedMetadata(Map<String, Object> model,
|
||||
|
@ -1956,13 +1956,13 @@ 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,
|
||||
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
|
||||
outdated original iText 2.1.7, since OpenPDF is actively maintained and fixes an important
|
||||
vulnerability for untrusted PDF content.
|
||||
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 outdated original iText 2.1.7, since OpenPDF is actively maintained and
|
||||
fixes an important vulnerability for untrusted PDF content.
|
||||
|
||||
|
||||
|
||||
|
@ -2027,9 +2027,9 @@ The `MappingJackson2JsonView` uses the Jackson library's `ObjectMapper` to rende
|
|||
content as JSON. By default, the entire contents of the model map (with the exception of
|
||||
framework-specific classes) are encoded as JSON. For cases where the contents of the
|
||||
map need to be filtered, you can specify a specific set of model attributes to encode
|
||||
by using the `modelKeys` property. You can also use the `extractValueFromSingleKeyModel` property
|
||||
to have the value in single-key models extracted and serialized directly rather than
|
||||
as a map of model attributes.
|
||||
by using the `modelKeys` property. You can also use the `extractValueFromSingleKeyModel`
|
||||
property to have the value in single-key models extracted and serialized directly rather
|
||||
than as a map of model attributes.
|
||||
|
||||
You can customize JSON mapping as needed by using Jackson's provided
|
||||
annotations. When you need further control, you can inject a custom `ObjectMapper`
|
||||
|
@ -2044,9 +2044,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 multiples 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`
|
||||
|
@ -2060,12 +2060,11 @@ you need to provide serializers and deserializers for specific types.
|
|||
== XML Marshalling
|
||||
|
||||
The `MarshallingView` uses an XML `Marshaller` (defined in the `org.springframework.oxm`
|
||||
package) to render the response content as XML. You can explicitly set the object to be marshalled
|
||||
by using a `MarshallingView` instance's `modelKey` bean property. Alternatively, the view
|
||||
iterates over all model properties and marshals the first type that is supported
|
||||
package) to render the response content as XML. You can explicitly set the object to be
|
||||
marshalled by using a `MarshallingView` instance's `modelKey` bean property. Alternatively,
|
||||
the view iterates over all model properties and marshals the first type that is supported
|
||||
by the `Marshaller`. For more information on the functionality in the
|
||||
`org.springframework.oxm` package, see
|
||||
<<data-access.adoc#oxm,Marshalling XML using O/X Mappers>>.
|
||||
`org.springframework.oxm` package, see <<data-access.adoc#oxm,Marshalling XML using O/X Mappers>>.
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -2491,11 +2491,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 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
|
||||
|
|
Loading…
Reference in New Issue