0

私はしばらくしてJSFとSpringを使用していますが、マネージドBeanでSpringのAOPを使用する必要があることがわかりましたが、たとえば次のように変更しました。

@ManagedBean("title")
@RequestScope
public class Title{
   ...
}

(シームレスに動作します)

@Component
@Scope("request")
public class Title{
   ...
}

Spring は必要に応じてこれらの Bean を作成しようとしますが (いくつかの Autowired プロパティを設定するため)、.xhtml ファイルから参照されているプロパティの一部を見つけることができず、たとえば次のように言います:

org.apache.myfaces.view.facelets.el.ContextAwarePropertyNotFoundException:   javax.el.PropertyNotFoundException: Property 'selectedUser' not found on type $Proxy50

どんな体でも助けることができますか?

4

2 に答える 2

1

Spring AOP をインターフェイスを実装するクラスに適用する場合は、そのクラスのすべてのパブリック メソッドをそれによって実装されるインターフェイスに含めるか、AOP を で構成する必要がありますproxy-target-class = "true"

この動作の説明については、7.6 プロキシのメカニズムを参照してください。

于 2012-10-10T14:22:52.577 に答える
0

xhtml jsf ページが Spring Bean にアクセスできない場合は、 faces-config.xml に次の構成があることを確認してください。

<application>
     <el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver>
</application>
于 2013-05-17T08:33:26.833 に答える