首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache MyFaces CODI PageBean:“参数bean不能为空”

Apache MyFaces CODI PageBean:“参数bean不能为空”
EN

Stack Overflow用户
提问于 2011-04-27 11:41:42
回答 1查看 1.7K关注 0票数 0

我目前正在对Apache MyFaces CODI做一些实验。我使用@Page和一个返回Class的操作方法创建了一个简单的Typesafe导航。

但是,当我使用例如MyPageBean.class添加@PageBean注解时,当我试图导航到该页面时,会引发以下异常:

代码语言:javascript
复制
exception
javax.servlet.ServletException: WELD-001324 Argument bean must not be null
root cause
org.jboss.weld.exceptions.IllegalArgumentException: WELD-001324 Argument bean must not be null

我页面的代码是:

代码语言:javascript
复制
@Page
@PageBean(MyPageBean.class)
public final class MyPage implements ViewConfig, Serializable {

}

我的页面-豆子:

代码语言:javascript
复制
public class MyPageBean implements Serializable {
    @InitView
    protected void initView() { }

    @PrePageAction
    protected void prePageAction() { }

    @PreRenderView
    protected void preRenderView() { }
}

以及Facelets页面调用的Action-方法:

代码语言:javascript
复制
public Class<? extends ViewConfig> nextPage() {
    return MyPage.class;
}

pageBean类(MyPageBean)需要有特定的注释或接口吗?我已经试过使用@Model,但这并没有改变任何事情。

我的配置:

  • Jave EE6 with Weld (使用焊接原型创建)
  • Glassfish 3.1 Community ( Netbeans 7附带的)
  • JSF2.0 (Mojarra 2.1)
  • EJB 3.1

H 113MyFaces 0.9.4 H 214H 115RichFaces4.0.0.FinalH 216F 217

谢谢你的建议!

向你问好,罗伯特

EN

回答 1

Stack Overflow用户

发布于 2011-04-27 12:15:43

如果您不使用任何特定的作用域,它最终将是@依赖的。

我建议至少使用@RequestScoped (注意,不要使用javax.faces.bean.RequestScoped,而是使用CDI!)

奥基,现在和格哈德谈过了,因为他在焊接上有更多的科迪经验。

显然,这似乎是您使用的焊接版本中的一个错误。这应该适用于焊接-1.1.1最终的https://github.com/weld/core/tree/1.1.1.Final

请尝试将您的玻璃鱼中的焊缝-osgi-束替换为焊缝1.1.1.Final中的

cp靶/焊缝-osgi束-1.1.1.JAR /opt/sun/glassfish/glassfish/modules/weld-osgi-bundle.jar

如果有效的话:学分归os890 ;)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5803492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档