您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

javax.el.PropertyNotFoundException:在类型com.example.Bean上找不到属性'foo'

javax.el.PropertyNotFoundException:在类型com.example.Bean上找不到属性'foo'

javax.el.PropertyNotFoundException:在类型com.example.Bean上找不到属性’foo’

从字面上看,这意味着所提到的类com.example.Bean没有针对所提到的property的公共(非静态!)getter方法foo。请注意,此处的字段本身无关紧要!

公共获取方法名称必须以开头get,然后是属性名称,该属性名称仅在属性名称的第一个字母处大写,例如Foo

public Foo getFoo() {
    return foo;
}

因此,你需要确保有一个getter方法精确匹配属性名称,并且该方法public( -static),并且该方法不带任何参数,它返回非void。如果您只有一个,但仍然无法正常工作,则很可能是您忙于来回编辑代码,而没有牢固地清理构建,重新构建代码以及重新部署/重新启动应用程序。您需要确保已这样做。

对于boolean(不是Boolean!)属性,getter方法名称必须以开头,is而不是get

public boolean isFoo() {
    return foo;
}

因此,无论类型如何,foo字段本身的存在 重要。它可以具有不同的名称,也可以完全不存在,甚至可以是static。以下所有内容仍应可通过访问${bean.foo}

public Foo getFoo() {
    return bar;
}



public Foo getFoo() {
    return new Foo("foo");
}



public Foo getFoo() {
    return FOO_CONSTANT;
}

您会看到,该字段不是重要的,而是getter方法本身。请注意,属性名称本身不应在EL中大写。换句话说,${bean.Foo}它将永远不会起作用${bean.foo}

java 2022/1/1 18:24:07 有513人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶