在spring-servlet.xml中加上以下代码(注意,在<mvc:annotation-driven/>标签中加上属性“conversion-service”):
<!-- 配置自定义类型转换器 --> <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean"> <property name="converters"> <set> <ref bean="string2EmployeeConverter"/> </set> </property> </bean>
<mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>
以上会丢失格式化功能,把 bean conversionService 的 class 改成 FormattingConversionServiceFactoryBean,即可保留 Spring 的格式化;
自定义的转换器String2EmployeeConverter:
@Component public class String2EmployeeConverter implements Converter<String, Employee>{ @Override public Employee convert(String src) { String[] strings = src.split("-"); if (strings.length == 2) { Employee employee = new Employee(); employee.setName(strings[0]); employee.setPosition(strings[1]); System.out.println(employee); return employee; } else { return null; } } }
以上。