为懒人提供无限可能,生命不息,code不止
作者: 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后紧跟的字符串跟你的变量名一致就好。