resolver, and so on -- can be fulfilled by a specialized
resolver, and so on — can be fulfilled by a specialized
object.</para>
</listitem>
@ -468,9 +468,9 @@
@@ -468,9 +468,9 @@
<para>If you specify a multipart file resolver, the request is
inspected for multiparts; if multiparts are found, the request is
wrapped in a <classname>MultipartHttpServletRequest</classname> for
further processing by other elements in the process. (See <xref
linkend="mvc-multipart-resolver" /> for further information about
multipart handling).</para>
further processing by other elements in the process. See <xref
linkend="mvc-multipart" /> for further information about
multipart handling.</para>
</listitem>
<listitem>
@ -1552,7 +1552,7 @@ public void populateModel(@RequestParam String number, Model model) {
@@ -1552,7 +1552,7 @@ public void populateModel(@RequestParam String number, Model model) {
the return value of the <interfacename>@RequestMapping</interfacename> method
is interpreted as a model attribute rather than as a view name.
The view name is derived from view name conventions instead much like for methods
returning void -- see <xreflinkend="mvc-coc-r2vnt"/>.</para>
returning void — see <xreflinkend="mvc-coc-r2vnt"/>.</para>
</section>
@ -1581,15 +1581,15 @@ public String processSubmit(<emphasis role="bold">@ModelAttribute Pet pet</empha
@@ -1581,15 +1581,15 @@ public String processSubmit(<emphasis role="bold">@ModelAttribute Pet pet</empha
There are several options: </para>
<itemizedlist>
<listitem>It may already be in the model due to use of
<listitem><para>It may already be in the model due to use of
<interfacename>@SessionAttributes</interfacename>
-- see <xreflinkend="mvc-ann-sessionattrib"/>.</listitem>
<listitem>It may already be in the model due to an
— see <xreflinkend="mvc-ann-sessionattrib"/>.</para></listitem>
<listitem><para>It may already be in the model due to an
<interfacename>@ModelAttribute</interfacename> method in the same
controller -- as explained in the previous section.</listitem>
<listitem>It may be retrieved based on a URI template variable
and type converter (explained in more detail below).</listitem>
<listitem>It may be instantiated using its default constructor.</listitem>
controller — as explained in the previous section.</para></listitem>
<listitem><para>It may be retrieved based on a URI template variable
and type converter (explained in more detail below).</para></listitem>
<listitem><para>It may be instantiated using its default constructor.</para></listitem>
</itemizedlist>
<para>An <interfacename>@ModelAttribute</interfacename> method is a common
@ -1613,8 +1613,8 @@ public String save(@ModelAttribute("account") Account account) {
@@ -1613,8 +1613,8 @@ public String save(@ModelAttribute("account") Account account) {
<para>The next step is data binding. The <classname>WebDataBinder</classname>
class matches request parameter names -- including query string parameters and
form fields -- to model attribute fields by name. Matching fields are populated
class matches request parameter names — including query string parameters and
form fields — to model attribute fields by name. Matching fields are populated
after type conversion (from String to the target field type) has been applied
where necessary.
Data binding and validation are covered in <xreflinkend="validation"/>.
@ -2408,7 +2408,7 @@ public class TimeBasedAccessInterceptor extends HandlerInterceptorAdapter {
@@ -2408,7 +2408,7 @@ public class TimeBasedAccessInterceptor extends HandlerInterceptorAdapter {