springmvc自动封装参数至bean时isXXX类型参数传入失败

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_28379809/article/details/81986400

spring的controller类中,可以直接通过类似public Object save(User user)的形式来映射参数到java bean。但是,在实际应用中发现,如果bean类的
某个属性的格式是isXXX,比如isEnable,那么由IDE自动生成的get/set方法是形如public boolean isEnable()public void setEnable(boolean enable)而不是想象的public void setIsEnable(boolean isEnable)。如下:

@PostMapping(value = "save")
public Object save(User user) {

}
public class User {
    private int id;
    private String name;
    private boolean isEnable;

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public boolean isEnable() {
        return isEnable;
    }

    public void setEnable(boolean enable) {
        isEnable = enable;
    }
}

但是,我们习惯性地还是传递isEnable参数,而不是正确的enable参数,这样就导致一个问题:isEnable这个参数并没有正确传递到后端。

怎么解决这个问题呢?

1.把传递的参数改成enable就行了。但是这样做看起来有点不舒服。
2.修改set方法,将setEnable()改成setIsEnable()。

猜你喜欢

转载自blog.csdn.net/qq_28379809/article/details/81986400
今日推荐