一:自定义类型转换器
二:spring支持的转换器
三:
四:代码实现
1.创建一个hander方法
//测试自定义转换器
@RequestMapping("testConversionService")
public String testConversionService(@RequestParam("employee")Employee employee) {
System.out.println("save" +employee);
employeeDao.save(employee);
return "redirect:/emp";
}
2.创建自定义转换器
@Component
public class EmployeeConversion implements Converter<String, Employee> {
@Override
public Employee convert(String resource) {
if(resource !=null) {
String[] values=resource.split("-");
if(values!=null &&values.length==4) {
String lastName=values[0];
String email=values[1];
String gender=values[2];
Department department=new Department();
department.setId(Integer.parseInt(values[3]));
Employee employee=new Employee(null, lastName, email, gender, department);
System.out.println("conversion"+employee);
return employee;
}
}
return null;
}
}
3.springmvc.xml配置
<mvc:annotation-driven conversion-service="conversionServiceFactoryBean"></mvc:annotation-driven>
<bean id="conversionServiceFactoryBean" class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<set>
<bean class="com.dhx.conversion.EmployeeConversion"></bean>
</set>
</property>
</bean>
4.测试jsp
<form action="testConversionService" method="get">
<input type="text" name="employee">
<input type="submit" value="submit">
</form>
//[email protected]