1

ステートフル セッション Bean があります。

@Scope(ScopeType.SESSION)
@Name("chuckNorrisBean")
public class ChuckNorrisBean implements Serializable, ChuckNorris

何らかの機能で

public void roundHouseKick()
{
    ...
}

インターフェース

@Local
public interface ChuckNorris
{
    public void roundHouseKick()
    {
        ...
    }
}

を使用してjsf .xhtmlページでそれらを呼び出します

#{chuckNorrisBean.roundHouseKick}

これは完全に正常に機能します。ただし、 @Stateful アノテーションを Bean に追加すると、次のようになります。

@Stateful
@Scope(ScopeType.SESSION)
@Name("chuckNorrisBean")
public class ChuckNorrisBean implements Serializable, ChuckNorris

そして、ページは例外について不平を言ってロードされます

Exception during request processing:Caused by javax.servlet.ServletException 
with message: "#{chuckNorrisBean.roundHouseKick}: javax.el.MethodNotFoundException: 
//localhost/universe/earth.xhtml @41,65 action=
"#{chuckNorrisBean.roundHouseKick}": Method not found: 
ChuckNorrisBean:a6gkg-w6das4-g8wmgh0y-1-g8woy0wo-4b.roundHouseKick()" 

私のchuckNorrisBeanで何がうまくいかなかったのかについて何かアドバイスはありますか?

このシステムは、SEAM/richfaces 上に構築されています。

ありがとう!

---- より多くの情報を追加するために編集 ----

このプロジェクトは、ear (ターゲット出力として単一の .ear ファイル) としてパッケージ化された maven 2.1 でビルドされます。

アプリケーション サーバーは JBoss です。

さらにデバッグしていじった後、

<page view-id="/index.xhtml">
    <action execute="#{chuckNorrisBean.roundHouseKick}" />
</page>

pages.xml では、キックがうまくいくようです。ページでの呼び出しが機能しない理由をまだ理解できませんでした。

4

1 に答える 1

0

それはかなり奇妙です。

やってみました

#{chuckNorrisBean.roundHouseKick()}

それ以外の

#{chuckNorrisBean.roundHouseKick}

何が起こるかを見るためだけに

于 2010-05-07T08:23:36.840 に答える