Ho una semplice applicazione JSP/Servlet 3.0/Spring MVC 3.1.Come modificare la codifica dei caratteri per i moduli di caricamento multipart di Spring MVC Servlet 3.0?
In una delle mie pagine, ho più moduli. Uno di questi moduli consente all'utente di caricare un file e viene quindi configurato con enctype="multipart/form-data"
. Ho configurato il caricamento multipart nel file web.xml con l'elemento multipart-config
disponibile dal Servlet 3.0, combinato con <bean id="multipartResolver" class="org.springframework.web.multipart.support.StandardServletMultipartResolver"/>
nella mia configurazione di primavera.
Ho anche Spring org.springframework.web.filter.CharacterEncodingFilter
configurato.
Il problema che ho è che non riesco a trovare un modo per impostare la codifica predefinita di StandardServletMultipartResolver su UTF-8, che spesso fa in modo che tutto il contenuto dei campi di testo nel modulo multipart sia tutto confuso.
C'è un modo per risolvere questo problema?
Grazie in anticipo.
web.xml config:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>foo-web</display-name>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
WEB-INF\applicationContext.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>foo</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>0</load-on-startup>
<multipart-config>
<max-file-size>52428800</max-file-size>
<file-size-threshold>5242880</file-size-threshold>
</multipart-config>
</servlet>
<servlet-mapping>
<servlet-name>foo</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>login</welcome-file>
</welcome-file-list>
sto affrontando anche il problema ... hai trovato la soluzione a questo problema? – hanumant
Sì, ho finito con il dumping della configurazione di Servlet 3.0 e sono andato con il normale approccio di commons-upload come spiegato qui [collegamento] (http://static.springsource.org/spring/docs/current/spring-framework-reference/html/ mvc.html # mvc-multipart) – Mopper