Jsf 选择一个功能表HTTP Status 500-Don';I don’我不知道如何迭代提供的;项目“;
我正在尝试设置一个SelectOne菜单列表,该列表由标签中的分类名称和值中的分类id填充。我是这样做的: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
<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;
}