javaBean中含有枚举类型属性的自动封装
近日做项目的时候,依旧被超长表单困扰,所以学习了一下自动封装
写了一个PropertyDescriptor
类实现的自动封装方法,然而对于属性中有枚举类型的
很是难受,因为从request
中获取的Map集合是Map <String, String[]>
的
开始想的是重载一个set方法,然而PropertyDescriptor的getWriteMethod方法
只能获取参数类型与属性的类型相同的方法,所以我写的重载方法获取不到。。。
于是自己动手写了一个
这个是通过servlet的request中获取的Map来实现对象自动封装
将javaBean类的参数类型为枚举类型的set方法删掉,然后写一个参数类型为String的方法
public void setB_sex(String b_sex) {
this.b_sex = Sex.valueOf(b_sex);
}
然后是自动封装方法的实现
@SuppressWarnings("rawtypes")
public