0

スタックトレースの「Causedby:」セクションには次のように書かれています。

Caused by: org.jboss.seam.RequiredException: 
@In attribute requires non-null value: selectAccountPageBean.accountSessionBean

ページスコープのBeanには次のものがあります。

@Name("selectAccountPageBean")
@Scope(ScopeType.PAGE)
public class SelectAccountPageWidgetBean 
    extends BaseWidgetBean implements Serializable
{
...
    @In(create = true)
    private AccountSessionBean accountSessionBean;
...
}

セッションスコープのBeanには次のものがあります。

@Name("accountSessionBean")
@Scope(ScopeType.SESSION)
public class AccountSessionBean implements Serializable
{
...
}

フェイスレットからページスコープのBeanを参照すると、エラーが発生します。

私は他のアプリでもこれと同じことをしましたが、うまくいきました。どこかに欠けている構成値はありますか?

4

2 に答える 2

0

フェイスレットでBean名のスペルを間違えただけで、このエラーが発生しました。フェイスレットコードも含めることができますか?

于 2013-02-11T20:45:03.213 に答える
0

どの変更で修正されたかはわかりませんが、2つのことを行いました。

  1. components.propertiesファイルに追加しました。
    誰かが、空であってもクラスパスに1つあるべきだと提案しました。
  2. コンポーネントが含まれているパッケージに問題がありました。パッケージ構造は次のようになりました。

    foo.bar.baz
    

    しかし、コンポーネントは次のようなディレクトリにありました。

    foo/bar/pirate/monkey/baz
    

ファイルを適切なディレクトリに移動しただけです。

于 2013-02-28T13:42:49.140 に答える