Bạn cũng có thể sử dụng dịch vụ chuyển đổi của Spring, có thêm lợi ích khi làm việc với <mvc:annotation-driven/>
và với Spring Webflow. Như với các câu trả lời khác, nhược điểm chính là đây là một thay đổi toàn cầu và không thể bị vô hiệu hóa cho các hình thức nhất định.
Bạn sẽ cần một bộ chuyển đổi để thực hiện cắt tỉa
public class StringTrimmingConverter implements Converter<String, String> {
@Override
public String convert(String source) {
return source.trim();
}
}
Sau đó xác định một dịch vụ chuyển đổi mà biết về chuyển đổi của bạn.
<bean id="applicationConversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="converters">
<list>
<bean class="mypackage.util.StringTrimmingConverter"/>
</list>
</property>
</bean>
và liên kết với mvc.
<mvc:annotation-driven conversion-service="applicationConversionService"/>
Nếu bạn sử dụng Spring Webflow sau đó nó đòi hỏi một wrapper
<bean id="defaultConversionService" class="org.springframework.binding.convert.service.DefaultConversionService">
<constructor-arg ref="applicationConversionService"/>
</bean>
và một thiết lập về xây dựng dòng chảy của bạn
<flow:flow-builder-services id="flowBuilderServices" conversion-service="defaultConversionService" development="true" validator="validator" />
Đây là câu trả lời hay nhất cho Mùa xuân 3.2 trở lên, mặc dù mã thử nghiệm phân tán từ sự đơn giản của nó. Bạn chỉ cần khối mã đầu tiên. Phần còn lại của mã không dành riêng cho câu hỏi. Và thay vì đặt nó vào một lớp * ControllerAdvice *, bạn cũng có thể đặt nó vào lớp điều khiển hoặc lớp cơ sở của bộ điều khiển trực tiếp. – Codo
Đồng thời làm việc với Spring Boot 1.3 và Spring MVC 4.2 – fatiherdem
Còn về passowords thì sao? – LppEdd