Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.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
Jsf 选择一个功能表HTTP Status 500-Don';I don’我不知道如何迭代提供的;项目“;_Jsf_Selectonemenu - Fatal编程技术网

Jsf 选择一个功能表HTTP Status 500-Don';I don’我不知道如何迭代提供的;项目“;

Jsf 选择一个功能表HTTP Status 500-Don';I don’我不知道如何迭代提供的;项目“;,jsf,selectonemenu,Jsf,Selectonemenu,我正在尝试设置一个SelectOne菜单列表,该列表由标签中的分类名称和值中的分类id填充。我是这样做的: <h:selectOneMenu id="categorie" value="#{adminRealisationController.categorie }"> <c:forEach items="#{listeCats}" var="cat"> <f:selectItem itemLabel="#{c

我正在尝试设置一个SelectOne菜单列表,该列表由标签中的分类名称和值中的分类id填充。我是这样做的:

<h:selectOneMenu id="categorie" value="#{adminRealisationController.categorie }">
            <c:forEach items="#{listeCats}" var="cat">
                <f:selectItem itemLabel="#{cat.nom }" itemValue="#{cat.id }"/>
            </c:forEach>
            </h:selectOneMenu>

该属性在faces xml中设置为整数,当我尝试提交表单时出现此错误:

这就是为什么
f:selectItems
存在的原因,您应该替换此属性

 <c:forEach items="#{listeCats}" var="cat">
     <f:selectItem itemLabel="#{cat.nom }" itemValue="#{cat.id }"/>
 </c:forEach>

通过这个(当使用JSF2.0时)


或者(当使用JSF1.X时)


在后面的示例中,您还需要返回一个
列表

公共列表getListCats()
{
列表项=新建ArrayList();
添加(新选择项(“值”、“标签”);
退货项目;
}
注意:这只是一个例子,根本没有效率。唯一需要记住的是,您需要将
对象
列表转换为
选择项
。另外,
value=“#{AdminRealizationController.categorie}”
将接收一个
字符串,而不是您的
对象,因此您需要对其进行转换

更多信息:


这就是为什么
f:selectItems
存在的原因,您应该替换它

 <c:forEach items="#{listeCats}" var="cat">
     <f:selectItem itemLabel="#{cat.nom }" itemValue="#{cat.id }"/>
 </c:forEach>

通过这个(当使用JSF2.0时)


或者(当使用JSF1.X时)


在后面的示例中,您还需要返回一个
列表

公共列表getListCats()
{
列表项=新建ArrayList();
添加(新选择项(“值”、“标签”);
退货项目;
}
注意:这只是一个例子,根本没有效率。唯一需要记住的是,您需要将
对象
列表转换为
选择项
。另外,
value=“#{AdminRealizationController.categorie}”
将接收一个
字符串,而不是您的
对象,因此您需要对其进行转换

更多信息:

然后我得到“根据TLD标记selectItems的属性var无效”。这是因为我使用的是JSF1.2??然后我得到“根据TLD标记selectItems的属性var无效”。这是因为我使用的是JSF1.2??
<f:selectItems value="#{listeCats}" var="cat" itemLabel="#{cat.nom}" itemValue="#{cat.id}" />
<f:selectItems value="#{listeCats}" />
public List<SelectItem> getListeCats()
{
    List<SelectItem> items = new ArrayList();

    items.add(new SelectItem("value","label"));

    return items;
}