PropertyNotFoundException 未找到属性,但是该类型中没有定义这个属性

偶尔出现,有时进入这个页面几十次都不报错
org.apache.jasper.JasperException: 在 [48] 行处理 [/WEB-INF/page/main_3.jsp] 时发生异常

<c:forEach items="${menus}" var="item">



  • 48:
    ${item.menuname}

    img

    javax.el.PropertyNotFoundException: 在类型 [com.entity.Areacode] 上未找到属性 [menuicon]
              Areacode 类没有这个menuicon ,属于menu

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    @TableName("areacode")
    public class Areacode {

    @TableId(value = "id",type = IdType.AUTO)
    private Integer id;
    private String area;
    private String areacode;
    private String arealevel;
    

    }
    @AllArgsConstructor
    @NoArgsConstructor
    @Data
    @TableName("menu")
    public class Menu {

    private Integer id;
    private String menuname;
    private Integer menulevel;
    private Integer menuparent;
    private Integer menuorder;
    private Integer state;
    private String menuurl;
    private String menuicon;
    

    }

    其余类似:javax.el.PropertyNotFoundException: 在类型 [com.entity.Cases] 上未找到属性 [areacode]
    Cases 没有areacode 属于Areacode类
    查询areacode所有记录 ,中间莫名混杂着loginuser类信息,比较奇怪!

    img

    原因及解决方案

就是因为没定义才不能使用,你在jsp页面用了Areacode类调用menuicon属性吧

Areacode确实没有menuicon吧,看你的类中没定义这个属性。loginInfo这些信息需要看一下具体的查询方法,有没有返回了不需要的信息。

areacodeService.getAreaCodeList方法你检查了吗?你这个list虽然声明是Areacode但是你实际返回的类有LoginUser,LoginUser中没areacode没这个属性所以报错啦

问题较多的话,一一处理
org.apache.jasper.JasperException: 在 [48] 行处理 [/WEB-INF/page/main_3.jsp] 时发生异常
<c:forEach items="${menus}" var="item">

分析:最可能的是没有导入jstl.jar包造成,需要排查路径是否正确或者是未安装,还有就是你tomcat版本。是否不匹配低 了

看看是否有用
https://b23.tv/TrSpq8B