Polishing the MVC sections of the reference manual.
This commit is contained in:
parent
ee8ed4e410
commit
a789bf2f1e
|
|
@ -2559,15 +2559,6 @@ background=/themes/cool/img/coolBg.jpg</programlisting>
|
|||
<programlisting language="xml"><bean id="multipartResolver"
|
||||
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
|
||||
|
||||
<lineannotation><!-- one of the properties available; the maximum file size in bytes --></lineannotation>
|
||||
<property name="maxUploadSize" value="100000"/>
|
||||
</bean></programlisting>
|
||||
|
||||
<para>This example uses the
|
||||
<classname>CosMultipartResolver</classname>:</para>
|
||||
|
||||
<programlisting language="xml"><bean id="multipartResolver" class="org.springframework.web.multipart.cos.CosMultipartResolver">
|
||||
|
||||
<lineannotation><!-- one of the properties available; the maximum file size in bytes --></lineannotation>
|
||||
<property name="maxUploadSize" value="100000"/>
|
||||
</bean></programlisting>
|
||||
|
|
@ -2575,9 +2566,7 @@ background=/themes/cool/img/coolBg.jpg</programlisting>
|
|||
<para>Of course you also need to put the appropriate jars in your
|
||||
classpath for the multipart resolver to work. In the case of the
|
||||
<classname>CommonsMultipartResolver</classname>, you need to use
|
||||
<literal>commons-fileupload.jar</literal>; in the case of the
|
||||
<classname>CosMultipartResolver</classname>, use
|
||||
<literal>cos.jar</literal>.</para>
|
||||
<literal>commons-fileupload.jar</literal>.</para>
|
||||
|
||||
<para>When the Spring <classname>DispatcherServlet</classname> detects a
|
||||
multi-part request, it activates the resolver that has been declared in
|
||||
|
|
@ -2596,7 +2585,7 @@ background=/themes/cool/img/coolBg.jpg</programlisting>
|
|||
<para>After the <classname>MultipartResolver</classname> completes its
|
||||
job, the request is processed like any other. To use it<!--to use what?-->,
|
||||
you create a form with an upload field (see immediately below) that will
|
||||
allow the user to upload a form, then let Spring bind the file onto your
|
||||
allow the user to upload a form. Then let Spring bind the file onto your
|
||||
form (backing object). <!--I reworded because it sounded like you refer twice to creating a form. Where in example do you *let* Spring bind the file? Clarify.--><!--Does reader know what a backing object refers to?--></para>
|
||||
|
||||
<programlisting language="xml"><html>
|
||||
|
|
@ -2660,25 +2649,25 @@ background=/themes/cool/img/coolBg.jpg</programlisting>
|
|||
protected ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response,
|
||||
Object command, BindException errors) throws ServletException, IOException {
|
||||
|
||||
<lineannotation> // cast the bean</lineannotation>
|
||||
<lineannotation>// cast the bean</lineannotation>
|
||||
FileUploadBean bean = (FileUploadBean) command;
|
||||
|
||||
<lineannotation> let's see if there's content there</lineannotation>
|
||||
<lineannotation>// let's see if there's content there</lineannotation>
|
||||
byte[] file = bean.getFile();
|
||||
if (file == null) {
|
||||
<lineannotation> // hmm, that's strange, the user did not upload anything</lineannotation>
|
||||
<lineannotation>// hmm, that's strange, the user did not upload anything</lineannotation>
|
||||
}
|
||||
|
||||
<lineannotation> // well, let's do nothing with the bean for now and return</lineannotation>
|
||||
<lineannotation>// well, let's do nothing with the bean for now and return</lineannotation>
|
||||
return super.onSubmit(request, response, command, errors);
|
||||
}
|
||||
|
||||
protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder)
|
||||
throws ServletException {
|
||||
// to actually be able to convert Multipart instance to byte[]
|
||||
// we have to register a custom editor
|
||||
<lineannotation>// to actually be able to convert Multipart instance to byte[]</lineannotation>
|
||||
<lineannotation>// we have to register a custom editor</lineannotation>
|
||||
binder.registerCustomEditor(byte[].class, new ByteArrayMultipartFileEditor());
|
||||
// now Spring knows how to handle multipart object and convert them
|
||||
<lineannotation>// now Spring knows how to handle multipart objects and convert them</lineannotation>
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2711,16 +2700,16 @@ public class FileUploadBean {
|
|||
protected ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response,
|
||||
Object command, BindException errors) throws ServletException, IOException {
|
||||
|
||||
<lineannotation> // cast the bean</lineannotation>
|
||||
<lineannotation>// cast the bean</lineannotation>
|
||||
FileUploadBean bean = (FileUploadBean) command;
|
||||
|
||||
<lineannotation> let's see if there's content there</lineannotation>
|
||||
<lineannotation>// let's see if there's content there</lineannotation>
|
||||
String file = bean.getFile();
|
||||
if (file == null) {
|
||||
<lineannotation> // hmm, that's strange, the user did not upload anything</lineannotation>
|
||||
<lineannotation>// hmm, that's strange, the user did not upload anything</lineannotation>
|
||||
}
|
||||
|
||||
<lineannotation> // well, let's do nothing with the bean for now and return</lineannotation>
|
||||
<lineannotation>// well, let's do nothing with the bean for now and return</lineannotation>
|
||||
return super.onSubmit(request, response, command, errors);
|
||||
}
|
||||
|
||||
|
|
@ -2762,16 +2751,16 @@ public class FileUploadBean {
|
|||
protected ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response,
|
||||
Object command, BindException errors) throws ServletException, IOException {
|
||||
|
||||
<lineannotation> // cast the bean</lineannotation>
|
||||
<lineannotation>// cast the bean</lineannotation>
|
||||
FileUploadBean bean = (FileUploadBean) command;
|
||||
|
||||
<lineannotation> let's see if there's content there</lineannotation>
|
||||
MultipartFile file = bean.getFile();
|
||||
if (file == null) {
|
||||
<lineannotation> // hmm, that's strange, the user did not upload anything</lineannotation>
|
||||
<lineannotation>// hmm, that's strange, the user did not upload anything</lineannotation>
|
||||
}
|
||||
|
||||
<lineannotation> // well, let's do nothing with the bean for now and return</lineannotation>
|
||||
<lineannotation>// well, let's do nothing with the bean for now and return</lineannotation>
|
||||
return super.onSubmit(request, response, command, errors);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ productList.url=/WEB-INF/jsp/productlist.jsp</programlisting>
|
|||
|
||||
<para>When using the Java Standard Tag Library you must use a special
|
||||
view class, the <classname>JstlView</classname>, as JSTL needs some
|
||||
preparation before things such as the i18N features will work.</para>
|
||||
preparation before things such as the I18N features will work.</para>
|
||||
</section>
|
||||
|
||||
<section id="view-jsp-tags">
|
||||
|
|
@ -86,8 +86,8 @@ productList.url=/WEB-INF/jsp/productlist.jsp</programlisting>
|
|||
escaping of characters.</para>
|
||||
|
||||
<para>The tag library descriptor (TLD) is included in the <filename
|
||||
class="libraryfile">spring.jar</filename> as well in the distribution
|
||||
itself. Further information about the individual tags can be found in
|
||||
class="libraryfile">org.springframework.web.servlet-3.0.0.RELEASE.jar</filename>.
|
||||
Further information about the individual tags can be found in
|
||||
the appendix entitled <xref linkend="spring.tld" />.</para>
|
||||
</section>
|
||||
|
||||
|
|
@ -115,7 +115,8 @@ productList.url=/WEB-INF/jsp/productlist.jsp</programlisting>
|
|||
<title>Configuration</title>
|
||||
|
||||
<para>The form tag library comes bundled in
|
||||
<literal>spring.jar</literal>. The library descriptor is called
|
||||
<literal>org.springframework.web.servlet-3.0.0.RC1.jar</literal>.
|
||||
The library descriptor is called
|
||||
<literal>spring-form.tld</literal>.</para>
|
||||
|
||||
<para>To use the tags from this library, add the following directive
|
||||
|
|
@ -813,7 +814,7 @@ public String deletePet(@PathVariable int ownerId, @PathVariable int petId) {
|
|||
dependencies included in your project. The following is the list of
|
||||
dependencies you need.</para>
|
||||
|
||||
<para><itemizedlist spacing="compact">
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem>
|
||||
<para><literal>Tiles version 2.0.4 or higher</literal></para>
|
||||
</listitem>
|
||||
|
|
@ -829,10 +830,8 @@ public String deletePet(@PathVariable int ownerId, @PathVariable int petId) {
|
|||
<listitem>
|
||||
<para><literal>Commons Logging</literal></para>
|
||||
</listitem>
|
||||
</itemizedlist></para>
|
||||
</itemizedlist>
|
||||
|
||||
<para>These dependencies are all available in the Spring
|
||||
distribution.</para>
|
||||
</section>
|
||||
|
||||
<section id="view-tiles-integrate">
|
||||
|
|
@ -910,12 +909,12 @@ findOwnersForm.url=/WEB-INF/jsp/findOwners.jsp
|
|||
<para>As you can see, when using the
|
||||
<classname>ResourceBundleViewResolver</classname>, you can easily mix
|
||||
different view technologies.</para>
|
||||
</section>
|
||||
|
||||
<para>Note that the <classname>TilesView</classname> class for Tiles 2
|
||||
supports JSTL (the JSP Standard Tag Library) out of the box, whereas
|
||||
there is a separate <classname>TilesJstlView</classname> subclass in the
|
||||
Tiles 1.x support.</para>
|
||||
<para>Note that the <classname>TilesView</classname> class for Tiles 2
|
||||
supports JSTL (the JSP Standard Tag Library) out of the box, whereas
|
||||
there is a separate <classname>TilesJstlView</classname> subclass in the
|
||||
Tiles 1.x support.</para>
|
||||
</section>
|
||||
|
||||
<section id="view-tiles-preparer">
|
||||
<title><classname>SimpleSpringPreparerFactory</classname> and
|
||||
|
|
@ -990,10 +989,7 @@ findOwnersForm.url=/WEB-INF/jsp/findOwners.jsp
|
|||
found by a Java EE server and added to the classpath for your application.
|
||||
It is of course assumed that you already have the <filename
|
||||
class="libraryfile">spring.jar</filename> in your <filename
|
||||
class="directory">'WEB-INF/lib'</filename> directory too! The latest
|
||||
stable Velocity, FreeMarker and Commons Collections jars are supplied
|
||||
with the Spring framework and can be copied from the relevant <filename
|
||||
class="libraryfile">/lib/</filename> sub-directories. If you make use of
|
||||
class="directory">'WEB-INF/lib'</filename> directory too! If you make use of
|
||||
Spring's 'dateToolAttribute' or 'numberToolAttribute' in your Velocity
|
||||
views, you will also need to include the <filename
|
||||
class="libraryfile">velocity-tools-generic-1.x.jar</filename></para>
|
||||
|
|
|
|||
Loading…
Reference in New Issue