0

我的堆栈跟踪的“原因:”部分说:

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
{
...
}

当我从 facelet 引用页面范围的 bean 时,我得到了错误。

我在其他应用程序中也做过同样的事情,而且效果很好。是否有一些我在某处缺少的配置值?

4

2 回答 2

0

我不确定哪个更改修复了它,但我们做了两件事。

  1. 我们在 components.properties 文件中添加。有人建议我们应该
    在类路径上放置一个,即使它是空的。
  2. 我们的组件所在的包有问题。包结构类似于:

    foo.bar.baz
    

    但是该组件位于以下目录中:

    foo/bar/pirate/monkey/baz
    

我们只是将文件移动到正确的目录。

于 2013-02-28T13:42:49.140 回答
0

我曾经因为在 facelet 中拼错了 bean 名称而遇到了这个错误。您也可以包含 facelet 代码吗?

于 2013-02-11T20:45:03.213 回答