复制代码

为懒人提供无限可能,生命不息,code不止

人类感性的情绪,让我们知难行难
我思故我在
日拱一卒,功不唐捐
  • 首页
  • 前端
  • 后台
  • 数据库
  • 运维
  • 资源下载
  • 实用工具
  • 接口文档工具
  • 登录
  • 注册

其它

【原创】lombok生成的bean无法在jsp中通过EL表达式获取到对象的属性值

作者: whooyun发表于: 2018-04-09 21:21

问题现象

lombok生成的bean无法在jsp中通过EL表达式获取到对象的属性值

贴个bean

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import java.io.Serializable;

/**
 * @author  LYZ
 * @create  2018/3/12 20:55
 **/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class ZsCategory implements Serializable {
    /**
     * 商品分类ID
     */
    private Integer cId;
    /**
     * 商品类型编码
     */
    private String cCode;
    /**
     * 商品类型中文名字
     */
    private String cChineseName;
    /**
     * 商品类型状态,0无效,1有效
     */
    private Integer status;
    /**
     * 创建时间
     */
    private String createTime;
    /**
     * 类目英文名
     */
    private String cEnglishName;
    /**
     * 类目图片地址
     */
    private String iconUrl;
}

再贴个jsp代码

${zsCategory.cEnglishName}
结果


zsCategory有值,cEnglishName却始终拿不到值。

原因

EL表达式通过反射原理获取到方法后,把get方法后面部分作为属性名(CEnglishName)去获取属性值,导致找不到对应的属性。

规避方法

1、变量名首字母和第二个字母不要大写

2、前俩条实在没法规避,那就自己手写get方法吧,get后紧跟的字符串跟你的变量名一致就好。