Mojarra 2.3中的CDI托管bean抛出PropertyNotFoundException,Target Unreachable,标识符' localeBean'已解决为空

时间:2017-11-04 17:06:59

标签: jsf cdi mojarra propertynotfoundexception jsf-2.3

我在JSF 2.3和CDI应用程序中遇到bean发现问题。我正在使用Glassfish 5.0,Java 8(1.8.0_151)。我的档案:

faces-config.xml中

<?xml version='1.0' encoding='UTF-8'?>
<faces-config xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_3.xsd"
              version="2.3">


</faces-config>

LocaleBean:

import javax.enterprise.context.SessionScoped;
import javax.inject.Named;

@Named
@SessionScoped
public class LocaleBean implements Serializable {

}

在向此bean提交表单后,Glassfish日志中的消息:

  

javax.el.PropertyNotFoundException:/home.xhtml @ 15,81 value =&#34;#{localeBean.language}&#34;:Target Unreachable,identifier&#39; localeBean&#39;解析为null

表单提交仅在我使用javax.enterprise.context包中列出的导入而不是@Named和@SessionScoped时才有效。

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

但两者都在JSF 2.3中弃用。

任何想法的家伙?谢谢!

1 个答案:

答案 0 :(得分:0)

我在GitHub上找到了本主题的解决方案及其描述:

https://github.com/javaserverfaces/mojarra/issues/4264