È anche possibile utilizzare il servizio di conversione di Spring, che ha il vantaggio aggiuntivo di lavorare con <mvc:annotation-driven/>
e con Spring Webflow. Come per le altre risposte, lo svantaggio principale è che questo è un cambiamento globale e non può essere disattivato per alcune forme.
Avrete bisogno di un convertitore per fare il taglio
public class StringTrimmingConverter implements Converter<String, String> {
@Override
public String convert(String source) {
return source.trim();
}
}
Poi definire un servizio di conversione che conosce il vostro convertitore.
<bean id="applicationConversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="converters">
<list>
<bean class="mypackage.util.StringTrimmingConverter"/>
</list>
</property>
</bean>
e legarlo in mvc.
<mvc:annotation-driven conversion-service="applicationConversionService"/>
Se si utilizza Primavera WebFlow allora necessita di un involucro
<bean id="defaultConversionService" class="org.springframework.binding.convert.service.DefaultConversionService">
<constructor-arg ref="applicationConversionService"/>
</bean>
e un'impostazione del costruttore flusso
<flow:flow-builder-services id="flowBuilderServices" conversion-service="defaultConversionService" development="true" validator="validator" />
Questa è la migliore risposta per Spring 3.2 o successive, sebbene il codice di test distrae dalla sua semplicità. Hai solo bisogno del primo blocco di codice. Il resto del codice non è specifico per la domanda. E invece di metterlo in una classe * ControllerAdvice *, puoi anche metterlo direttamente nella classe controller o nella classe base del controller. – Codo
Funziona anche con Spring Boot 1.3 e Spring MVC 4.2 – fatiherdem
E i passowords? – LppEdd