-1

我有一个 JSF 页面的处理程序类,但是当我使用 @Transactional 注释该类或任何方法时,当访问 JSF 页面中的任何属性时,我会收到此错误:

原因:javax.el.PropertyNotFoundException:/index.xhtml @54,67 value="#{handler.startPage}":在 $Proxy115 类型上找不到属性“startPage”

任何想法为什么?

谢谢

4

1 回答 1

1

当您使用 时@Transactional,spring 将为带注释的类创建一个代理,并将其替换为原始对象。默认代理创建算法它使用依赖于接口的 JDK 代理。在处理程序的界面中,startPage 属性没有 getter/setter,因此出现异常。

您可以将 getter/setter 添加到接口或强制执行基于类的代理。要强制执行 cglib 代理,请在您的上下文文件中放置以下内容:

<tx:annotation-driven proxy-target-class="true"/>
于 2012-02-24T09:16:38.073 回答