【问题标题】:org.jboss.seam.RequiredException: @In attribute requires non-null value: selectAccountPageBean.accountSessionBeanorg.jboss.seam.RequiredException:@In 属性需要非空值:selectAccountPageBean.accountSessionBean
【发布时间】:2013-02-08 20:48:01
【问题描述】:

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

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 时,我得到了错误。

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

【问题讨论】:

    标签: java jboss seam


    【解决方案1】:

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

    【讨论】:

    • 更正...实际上我在一个查询中有一些 EL 引用了另一个 bean 中的 @Factory 标记...这是一个剪切和粘贴散乱者...修复了 EL参考,我很高兴。
    【解决方案2】:

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

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

      foo.bar.baz
      

      但组件位于以下目录中:

      foo/bar/pirate/monkey/baz
      

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-28
      • 2021-12-28
      • 1970-01-01
      • 2012-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-25
      相关资源
      最近更新 更多