今天我遇到了这个问题,这确实让我烦恼,因为几乎代码已经可以工作了(即使在恢复到旧版本后也停止工作)。
我正在 Facelets 页面上访问 Spring-Bean。 Spring 将这些对象包装在代理中以使用方面和其他一些东西。
问题是,当我尝试访问 bean 的属性时遇到异常。例外是这样的:
javax.el.PropertyNotFoundException: /customers.xhtml @23,27 value="#{customerBean.customer}": Property 'customer' not found on type $Proxy88
我确信(!!)相应的 getter/setter 方法就在那里。
到目前为止我尝试过的事情:
- 将应用程序部署到另一个 tomcat 安装
- 清除所有 tomcat 缓存、webapp 目录
- 清理 eclipse 项目
- 使用 javap 检查相应的方法(以及那里的方法/属性)
- 更改bean的范围
- 更改bean的类名
- 更改 spring bean-id
- 更改bean的serialVersionUID
无论我做什么,该类都未正确包装或未由类加载器正确加载。
有人知道什么会导致这样的问题吗?我不知道还要尝试什么,所以非常感谢您的建议!
提前致谢!
问候,
罗伯特
我还使用 Tomcat 7、JSF 2、Spring 3、Spring Security 3。
我也有同样的问题。改变编织的配置没有帮助。
我的最终解决方案是在 spring 配置中添加一行:
<aop:aspectj-autoproxy proxy-target-class="true"/>
你的类路径上需要 CGLIB。
希望这对某人有帮助。 :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)