Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javax.el.PropertyNotFoundException:/demo.xhtml@24,55 value="#{UserBean.favYear3}";:无法访问目标,标识符';UserBean';已解析为空_Java_Eclipse_Jsf_Jakarta Ee_Jsf 2 - Fatal编程技术网

javax.el.PropertyNotFoundException:/demo.xhtml@24,55 value="#{UserBean.favYear3}";:无法访问目标,标识符';UserBean';已解析为空

javax.el.PropertyNotFoundException:/demo.xhtml@24,55 value="#{UserBean.favYear3}";:无法访问目标,标识符';UserBean';已解析为空,java,eclipse,jsf,jakarta-ee,jsf-2,Java,Eclipse,Jsf,Jakarta Ee,Jsf 2,我想在JSF中有一个列表框。我已经写了一个简单的代码,但它不工作。在演示页面中,我看到一个带out列表的空框,在用户页面中,我有错误 UserBean.java @ManagedBean @SessionScoped public class UserBean implements Serializable{ public String favYear3;//list box public String getFavYear3() { return fav

我想在JSF中有一个列表框。我已经写了一个简单的代码,但它不工作。在演示页面中,我看到一个带out列表的空框,在用户页面中,我有错误

UserBean.java

@ManagedBean
@SessionScoped   
public class UserBean implements Serializable{
    public String favYear3;//list box

    public String getFavYear3() {
        return favYear3;
    }

    public void setFavYear3(String favYear3) {
        this.favYear3 = favYear3;
    }
    public static class Year{
        public String yearLabel;
        public String yearValue;

        public Year(String yearLabel, String yearValue){
            this.yearLabel = yearLabel;
            this.yearValue = yearValue;
        }

        public String getYearLabel(){
            return yearLabel;
        }

        public String getYearValue(){
            return yearValue;
        }

    }

    public Year[] year3List;

    public Year[] getFavYear3Value() {

        year3List = new Year[3];
        year3List[0] = new Year("Year3 - 2000", "2000");
        year3List[1] = new Year("Year3 - 2010", "2010");
        year3List[2] = new Year("Year3 - 2020", "2020");

        return year3List;
    }

}
demo.xhtml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>first jsf page</title>
</head>
<h:body>
    <h1>JSF 2 check example</h1>

    <h:form>
        <h:selectOneListbox value="#{UserBean.favYear3}">
            <f:selectItems value="#{UserBean.favYear3Value}" var="y"
                itemLabel="#{y.yearLabel}" itemValue="#{y.yearValue}" />
        </h:selectOneListbox>
    </h:form>

</h:body>
</html>

怎么了?

您必须使bean可访问/可管理。为此,你可以

使用CDI(
@Named
)或JSF(
@ManagedBean
)注释对其进行注释:

@Named
@SessionScoped
public class UserBean implements Serializable{...}
或者在
faces config.xml
中将其描述为
托管bean
,如下所示:

<managed-bean>
  <managed-bean-name>userBean</managed-bean-name>
  <managed-bean-class>com.example.UserBean</managed-bean-class>
  <managed-bean-scope>session</managed-bean-scope>
</managed-bean>

用户bean
com.example.UserBean
一场

EL中的托管bean名称错误。您已经声明了bean,如下所示:

@ManagedBean
@SessionScoped   
public class UserBean implements Serializable{
当您没有指定
@ManagedBean
name
属性时,它将符合Javabeans命名约定,默认为第一个字符小写的类名,如so
userBean
,但您试图用确切的类名
{userBean}
引用它们。您需要相应地将此名称修改为
#{userBean}


jsf2.x的
faces config.xml
注册是不必要的。删除它。

,我以前做过,我编辑了这篇文章。我将你的代码添加到我的面部配置中。现在我没有错误,但它不工作。我的名单是空的,我不能select@Sami当前位置如果答案不能解决您的具体问题,则您不应立即将其标记为已接受。这只会让其他读者感到困惑。只有真正解决了具体问题的答案才会被接受。
<managed-bean>
  <managed-bean-name>userBean</managed-bean-name>
  <managed-bean-class>com.example.UserBean</managed-bean-class>
  <managed-bean-scope>session</managed-bean-scope>
</managed-bean>
@ManagedBean
@SessionScoped   
public class UserBean implements Serializable{