-1

JSF ページのハンドラー クラスがありますが、@Transactional でクラスまたは任意のメソッドに注釈を付けると、JSF ページ内の任意のプロパティにアクセスすると、次のエラーが発生します。

原因: javax.el.PropertyNotFoundException: /index.xhtml @54,67 value="#{handler.startPage}": プロパティ 'startPage' がタイプ $Proxy115 で見つかりません

なぜアイデアはありますか?

ありがとう

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 に答える