SpringMVC 自定义类型转换器

1 使用场景:

时间格式: 2020-01-01 无法实现类型由String到Date的直接转换
实体类:

public class User implements Serializable {

    private String uname;

    private Integer age;

    private Date date;
}

jsp 代码:

<%--自定类型转换器 时间格式: 2020-01-01--%>
用户姓名:
用户年龄:
生日:

控制器代码:

/**
     * 自定义类型转换器
     * @param user
     * @return
     */
    @RequestMapping("saveUser")
    public String saveUser(User user){
        System.out.println("执行了...");
        System.out.println(user);
        return "success";
    }
    

报错:

Failed to convert value of type 'java.lang.String' to required type 'java.util.Date'

2 使用步骤

1 自定义类型转换器,实现 Converter 接口,该接口有两个泛型
/**
 * 字符串转换日期
 */
public class StringTpDateConverter implements Converter {


    @Override
    public Date convert(String s) {
        if(s == null){
            throw new RuntimeException("请您传入数据");
        }
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        // 把字符串转换成日
        try {
            return df.parse(s);
        } catch (ParseException e) {
            throw new RuntimeException("数据转换出现错误");
        }
    }
}
2 注册自定义类型转换器,在springmvc.xml配置文件中编写配置


    
        
            
        
    

3 在 annotation-driven 标签中引用配置的类型转换服务



你可能感兴趣的:(SpringMVC 自定义类型转换器)