javaBean含有枚举类型的属性的自动封装改进

在项目中遇到超长表单的自动封装问题,文章主要探讨了如何处理JavaBean中枚举类型属性的自动封装。由于常规方法无法直接处理枚举类型,作者尝试通过重载set方法但未成功,最后采取了创建一个接受String参数的set方法,并提供了通过Servlet请求Map实现对象自动封装的方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值