springmvc中自定义类型转换步骤
-
创建一个类实现Converter接口,并重写convert方法
public class MyConvert implements Converter<String, User> { @Override public User convert(String s) { String[] split = s.split("-"); if(split.length != 4){ throw new RuntimeException("请输入完整的信息,并用-隔开"); } User user = new User(); user.setId(Integer.valueOf(split[0])); user.setName(split[1]); user.setAge(Integer.valueOf(split[2])); user.setGender(split[3]); return user; } } -
在配置中,配置类型转换器
<!--配置类型转换器 不能使用ConversionServiceFactoryBean,不然会导致@DateTimeFormat和@NumberFormat失效--> <bean class="org.springframework.format.support.FormattingConversionServiceFactoryBean" name="conversionService2"> <property name="converters"> <set> <bean class="com.jiang.util.MyConvert"></bean> </set> </property> </bean> -
将类型转换器加入mvc注解驱动
<!--配置访问静态资源 --> <mvc:annotation-driven conversion-service="conversionService2"></mvc:annotation-driven> -
测试
@RequestMapping("/convert")
public String convert(String user,Model model){
MyConvert convert = new MyConvert();
User user1 = convert.convert(user);
model.addAttribute("user",user1);
System.out.println(user1);
return "index";
}
我成功因为我志在成功
浙公网安备 33010602011771号