1.为了实现所输入的数据格式与所需要的匹配该如何做到?例如:http://localhost:8080/date1.do?date1=2018-01-01,其中输入的date1的数据类型为一个格式为"yyyy-MM-dd"的String类型数据,要如何保证它被转换成我们所需要的Date格式的数据.Spring引入了Formatter的接口
public interface Formatter<T> extends Printer<T>, Parser<T> { }
将String类型的数据解析到Date类型,注意:这里只能是String类型.下面可以写一个类来实现这个接口
这样就可以实现将String类型格式为"yyyy-MM-dd"解析为Date格式的数据.下一步,需要将其进行一个绑定,
绑定完成后,就可以输入浏览器进行测试了.
2.除了formatter可以对String类型的数据进行解析以外,Spring还提供了Converter,,将S型的数据转为为T型的数据,其实现方法与Formatter类似:
3.如果不用以上两种方法是否还有其他方法可实现?可以用WebDateBinder,先注册一个编辑器,
这样也可以实现目的.
3.String的属性编辑器:PropertyEditor,这个接口有许多的实现类,以为例,PropertyEditorSupport下比较重要的方法有getSource,setSource,getValue,setValue,getAsText,setAsText,
4.总结:关于三者之间的不同,Property是内置的,可以通过重写方法对其进行扩展,但只能配合WebDateBinder局部使用,Formatter是内置的,也可以写类实现接口,重写方法对其进行扩展,可以局部和全局使用,Converter是内置的,无可扩展性,内置的类都是final修饰的,不可扩展,可局部可全局使用.